[libvirt] [PATCH v2 2/4] ppc64Compute: Avoid possible NULL dereference

Michal Privoznik mprivozn at redhat.com
Thu Jun 2 10:42:51 UTC 2016


cpu/cpu_ppc64.c: In function 'ppc64Compute':
cpu/cpu_ppc64.c:620:27: error: potential null pointer dereference [-Werror=null-dereference]
     if (STRNEQ(guest_model->name, host_model->name)) {
                ~~~~~~~~~~~^~~
cpu/cpu_ppc64.c:620:9: note: in expansion of macro 'STRNEQ'
     if (STRNEQ(guest_model->name, host_model->name)) {
         ^~~~~~
cc1: all warnings being treated as errors

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 src/cpu/cpu_ppc64.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/cpu/cpu_ppc64.c b/src/cpu/cpu_ppc64.c
index 799fb8e..09f4596 100644
--- a/src/cpu/cpu_ppc64.c
+++ b/src/cpu/cpu_ppc64.c
@@ -600,23 +600,23 @@ ppc64Compute(virCPUDefPtr host,
         case VIR_CPU_MODE_HOST_PASSTHROUGH:
             /* host-model and host-passthrough:
              * the guest CPU is the same as the host */
-            if (!(guest_model = ppc64ModelCopy(host_model)))
-                goto cleanup;
+            guest_model = ppc64ModelCopy(host_model);
             break;
 
         case VIR_CPU_MODE_CUSTOM:
             /* custom:
              * look up guest CPU information */
-            if (!(guest_model = ppc64ModelFromCPU(cpu, map)))
-                goto cleanup;
+            guest_model = ppc64ModelFromCPU(cpu, map);
             break;
         }
     } else {
         /* Other host CPU information */
-        if (!(guest_model = ppc64ModelFromCPU(cpu, map)))
-            goto cleanup;
+        guest_model = ppc64ModelFromCPU(cpu, map);
     }
 
+    if (!guest_model)
+        goto cleanup;
+
     if (STRNEQ(guest_model->name, host_model->name)) {
         VIR_DEBUG("host CPU model does not match required CPU model %s",
                   guest_model->name);
-- 
2.8.3




More information about the libvir-list mailing list