[libvirt] [PATCH] virsh-nodedev: Avoid spurious errors

Michal Privoznik mprivozn at redhat.com
Mon Jun 2 14:52:15 UTC 2014


Our public free functions explicitly don't accept NULL pointers
(sigh). Therefore, callers must do something like this:

    if (dev)
        virNodeDeviceFree(dev);

And we are not doing that on two places I've found. This leads to
dummy error message thrown by virsh:

    virsh # nodedev-dumpxml nonexistent-device
    error: Could not find matching device 'nonexistent-device'
    error: invalid node device pointer in virNodeDeviceFree

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 tools/virsh-nodedev.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/virsh-nodedev.c b/tools/virsh-nodedev.c
index a35387a..46e0045 100644
--- a/tools/virsh-nodedev.c
+++ b/tools/virsh-nodedev.c
@@ -162,7 +162,8 @@ cmdNodeDeviceDestroy(vshControl *ctl, const vshCmd *cmd)
     ret = true;
  cleanup:
     virStringFreeList(arr);
-    virNodeDeviceFree(dev);
+    if (dev)
+        virNodeDeviceFree(dev);
     return ret;
 }
 
@@ -571,7 +572,8 @@ cmdNodeDeviceDumpXML(vshControl *ctl, const vshCmd *cmd)
  cleanup:
     virStringFreeList(arr);
     VIR_FREE(xml);
-    virNodeDeviceFree(device);
+    if (device)
+        virNodeDeviceFree(device);
     return ret;
 }
 
-- 
2.0.0




More information about the libvir-list mailing list