diff options
author | Michal Privoznik <mprivozn@redhat.com> | 2016-03-25 10:18:00 +0100 |
---|---|---|
committer | Michal Privoznik <mprivozn@redhat.com> | 2016-03-25 10:18:00 +0100 |
commit | d715bfac08aa7b062d3010442637c9e63e7ab91e (patch) | |
tree | 2512be7c84c5a386ed770ebd8076a3372c2ce6d2 | |
parent | 3e5b35a538f507ed23d4130b6aa5dfcee28b7c67 (diff) | |
download | libvirt-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.c | 3 |
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; } |