From 55cc591fc18e87b29febf78dc5b424b7c12f7349 Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Fri, 25 Mar 2011 12:03:00 +0100 Subject: [PATCH] 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. --- daemon/remote.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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; }