From: Daniel P. Berrange Date: Tue, 22 Feb 2011 17:31:35 +0000 (+0000) Subject: Fix discard of expected errors X-Git-Tag: CVE-2011-1146~107 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=449b4c87b55686a78b76eff7c5d858c1d1166a8c;p=thirdparty%2Flibvirt.git Fix discard of expected errors 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 --- diff --git a/tools/virsh.c b/tools/virsh.c index 2837e0f6aa..62fca1722b 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); }