From ecac0391e48796b570d540212629205889cab421 Mon Sep 17 00:00:00 2001
From: wangmeiyang <wangmeiyang_yewu@cmss.chinamobile.com>
Date: Thu, 1 Dec 2022 09:21:05 +0800
Subject: [PATCH 22/24] vbox_network: fix possible memory leak in
 vboxNetworkDefineCreateXML()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

virNetworkDef was not freed if the function failed in the first
two ifs, causing a possible memory leak.

cherry-pick from ef83940524c1138dde616004be6cad5095b94001

Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Meiyang Wang <wangmeiyang_yewu@cmss.chinamobile.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
---
 src/vbox/vbox_network.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/vbox/vbox_network.c b/src/vbox/vbox_network.c
index 19b4d23ed8..dbee9a6f55 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;
-    virNetworkDefPtr def = virNetworkDefParseString(xml, NULL);
+    virNetworkDef *def = NULL;
     virNetworkIPDefPtr ipdef = NULL;
     unsigned char uuid[VIR_UUID_BUFLEN];
     vboxIID vboxnetiid;
@@ -393,7 +393,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;
-- 
2.27.0