summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Privoznik <mprivozn@redhat.com>2016-03-25 10:18:00 +0100
committerMichal Privoznik <mprivozn@redhat.com>2016-03-25 10:18:00 +0100
commitd715bfac08aa7b062d3010442637c9e63e7ab91e (patch)
tree2512be7c84c5a386ed770ebd8076a3372c2ce6d2
parent3e5b35a538f507ed23d4130b6aa5dfcee28b7c67 (diff)
downloadlibvirt-d715bfac08aa7b062d3010442637c9e63e7ab91e.tar.gz
admin_server: Avoid accessing unallocated memory
In 68b726b93c11cc90 we tried to fix a mem leak. However, it wasn't done quite well. Problem is, virNetDaemonGetServers() may fail in which case virObjectListFreeCount() would be called with -1 objects to free. But the number of elements is taken in unsigned rather than signed integer. Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
-rw-r--r--daemon/admin_server.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/daemon/admin_server.c b/daemon/admin_server.c
index 85cec4627c..1d30ea5079 100644
--- a/daemon/admin_server.c
+++ b/daemon/admin_server.c
@@ -54,7 +54,8 @@ adminConnectListServers(virNetDaemonPtr dmn,
srvs = NULL;
}
cleanup:
- virObjectListFreeCount(srvs, ret);
+ if (ret > 0)
+ virObjectListFreeCount(srvs, ret);
return ret;
}