[libvirt] [PATCH 06/23] Fix double free of hostdev on OOM in xenParseSxprPCI

Daniel P. Berrange berrange at redhat.com
Wed Sep 25 14:51:01 UTC 2013


From: "Daniel P. Berrange" <berrange at redhat.com>

If xenParseSxprPCI failed to expand the def->hostdevs array
due to OOM, it would free the hostdev instance twice.

Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
---
 src/xenxs/xen_sxpr.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/xenxs/xen_sxpr.c b/src/xenxs/xen_sxpr.c
index bb8a335..3cbe958 100644
--- a/src/xenxs/xen_sxpr.c
+++ b/src/xenxs/xen_sxpr.c
@@ -1055,10 +1055,8 @@ xenParseSxprPCI(virDomainDefPtr def,
         dev->source.subsys.u.pci.addr.slot = slotID;
         dev->source.subsys.u.pci.addr.function = funcID;
 
-        if (VIR_REALLOC_N(def->hostdevs, def->nhostdevs+1) < 0) {
-            virDomainHostdevDefFree(dev);
+        if (VIR_REALLOC_N(def->hostdevs, def->nhostdevs+1) < 0)
             goto error;
-        }
 
         def->hostdevs[def->nhostdevs++] = dev;
     }
-- 
1.8.3.1




More information about the libvir-list mailing list