From: Kristina Hanicova Date: Mon, 23 Aug 2021 14:33:41 +0000 (+0200) Subject: vbox_network: fix possible memory leak in vboxNetworkDefineCreateXML() X-Git-Tag: v7.7.0-rc1~57 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ef83940524c1138dde616004be6cad5095b94001;p=thirdparty%2Flibvirt.git vbox_network: fix possible memory leak in vboxNetworkDefineCreateXML() virNetworkDef was not freed if the function failed in the first two ifs, causing a possible memory leak. Signed-off-by: Kristina Hanicova Reviewed-by: Ján Tomko Signed-off-by: Ján Tomko --- diff --git a/src/vbox/vbox_network.c b/src/vbox/vbox_network.c index afd2acbb03..d97f571d1b 100644 --- a/src/vbox/vbox_network.c +++ b/src/vbox/vbox_network.c @@ -375,7 +375,7 @@ vboxNetworkDefineCreateXML(virConnectPtr conn, const char *xml, bool start) PRUnichar *networkNameUtf16 = NULL; char *networkNameUtf8 = NULL; IHostNetworkInterface *networkInterface = NULL; - virNetworkDef *def = virNetworkDefParseString(xml, NULL); + virNetworkDef *def = NULL; virNetworkIPDef *ipdef = NULL; unsigned char uuid[VIR_UUID_BUFLEN]; vboxIID vboxnetiid; @@ -394,7 +394,7 @@ vboxNetworkDefineCreateXML(virConnectPtr conn, const char *xml, bool start) VBOX_IID_INITIALIZE(&vboxnetiid); - if ((!def) || + if (!(def = virNetworkDefParseString(xml, NULL)) || (def->forward.type != VIR_NETWORK_FORWARD_NONE) || (def->nips == 0 || !def->ips)) goto cleanup;