From: Jiri Denemark Date: Fri, 25 Mar 2011 11:03:00 +0000 (+0100) Subject: daemon: Avoid resetting errors before they are reported X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=55cc591fc18e87b29febf78dc5b424b7c12f7349;p=libvirt.git daemon: Avoid resetting errors before they are reported Commit f44bfb7 was supposed to make sure no additional libvirt API (esp. *Free) is called before remoteDispatchConnError() is called on error. However, the patch missed two instances. --- diff --git a/daemon/remote.c b/daemon/remote.c index d49e0d8265..a343da58c6 100644 --- a/daemon/remote.c +++ b/daemon/remote.c @@ -5108,12 +5108,13 @@ remoteDispatchStoragePoolListVolumes (struct qemud_server *server ATTRIBUTE_UNUS ret->names.names_len = virStoragePoolListVolumes (pool, ret->names.names_val, args->maxnames); - virStoragePoolFree(pool); if (ret->names.names_len == -1) { VIR_FREE(ret->names.names_val); remoteDispatchConnError(rerr, conn); + virStoragePoolFree(pool); return -1; } + virStoragePoolFree(pool); return 0; } @@ -5137,11 +5138,12 @@ remoteDispatchStoragePoolNumOfVolumes (struct qemud_server *server ATTRIBUTE_UNU } ret->num = virStoragePoolNumOfVolumes (pool); - virStoragePoolFree(pool); if (ret->num == -1) { remoteDispatchConnError(rerr, conn); + virStoragePoolFree(pool); return -1; } + virStoragePoolFree(pool); return 0; }