diff options
author | Eric Blake <eblake@redhat.com> | 2010-11-24 13:29:38 -0700 |
---|---|---|
committer | Eric Blake <eblake@redhat.com> | 2010-11-24 15:23:43 -0700 |
commit | d90babe96151eac498fd2aa6af8a9f4916fa6854 (patch) | |
tree | 174e0c980d5f9aac0b1bff9a40ee7f0490e0d6ef | |
parent | maint: prohibit most uses of xmlGetProp (diff) | |
download | libvirt-d90babe96151eac498fd2aa6af8a9f4916fa6854.tar.gz libvirt-d90babe96151eac498fd2aa6af8a9f4916fa6854.tar.bz2 libvirt-d90babe96151eac498fd2aa6af8a9f4916fa6854.zip |
network: plug memory leak
* src/conf/network_conf.c (virNetworkDHCPRangeDefParseXML): Free
xml strings when no longer referenced.
-rw-r--r-- | src/conf/network_conf.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c index 986825010..b469269e1 100644 --- a/src/conf/network_conf.c +++ b/src/conf/network_conf.c @@ -252,10 +252,10 @@ virNetworkDHCPRangeDefParseXML(virNetworkDefPtr def, VIR_FREE(end); return -1; } + VIR_FREE(start); + VIR_FREE(end); if (VIR_REALLOC_N(def->ranges, def->nranges + 1) < 0) { - VIR_FREE(start); - VIR_FREE(end); virReportOOMError(); return -1; } @@ -300,8 +300,8 @@ virNetworkDHCPRangeDefParseXML(virNetworkDefPtr def, cur = cur->next; continue; } + VIR_FREE(ip); if (VIR_REALLOC_N(def->hosts, def->nhosts + 1) < 0) { - VIR_FREE(ip); VIR_FREE(mac); VIR_FREE(name); virReportOOMError(); @@ -326,11 +326,15 @@ virNetworkDHCPRangeDefParseXML(virNetworkDefPtr def, server = virXMLPropString(cur, "server"); if (server && - virSocketParseAddr(server, &inaddr, AF_UNSPEC) < 0) + virSocketParseAddr(server, &inaddr, AF_UNSPEC) < 0) { + VIR_FREE(file); + VIR_FREE(server); return -1; + } def->bootfile = file; def->bootserver = inaddr; + VIR_FREE(server); } cur = cur->next; |