[libvirt] [PATCH] Fix discard of expected errors

Daniel P. Berrange berrange at redhat.com
Tue Feb 22 17:54:57 UTC 2011


In a couple of commands virsh catches & ignores errors, but fails
to reset last_error. Thus the error is ignored, but still reported
to the user.

* tools/virsh.c: Reset last_error if ignoring an error
---
 tools/virsh.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/tools/virsh.c b/tools/virsh.c
index 2837e0f..62fca17 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -2122,6 +2122,9 @@ cmdDominfo(vshControl *ctl, const vshCmd *cmd)
         if (last_error->code != VIR_ERR_NO_SUPPORT) {
             virDomainFree(dom);
             return FALSE;
+        } else {
+            virFreeError(last_error);
+            last_error = NULL;
         }
     } else {
         /* Only print something if a security model is active */
@@ -2498,6 +2501,8 @@ cmdVcpucount(vshControl *ctl, const vshCmd *cmd)
                 if (!tmp || virStrToLong_i(tmp + 1, &tmp, 10, &count) < 0)
                     count = -1;
             }
+            virFreeError(last_error);
+            last_error = NULL;
             VIR_FREE(xml);
         }
 
-- 
1.7.4




More information about the libvir-list mailing list