[PATCH] libxl: Fix double-dispose of libxl domain config

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



libxlBuildDomainConfig() was disposing the libxl_domain_config object
on error, only to have it disposed again by libxlBuildDomainConfig()'s
caller, which resulted in a segfault.  Leave disposing of the config
object to it's owner.
---
 src/libxl/libxl_conf.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
index 7e0753a..3de642b 100644
--- a/src/libxl/libxl_conf.c
+++ b/src/libxl/libxl_conf.c
@@ -796,19 +796,19 @@ libxlBuildDomainConfig(libxlDriverPrivatePtr driver,
         return -1;
 
     if (libxlMakeDomBuildInfo(def, d_config) < 0) {
-        goto error;
+        return -1;
     }
 
     if (libxlMakeDiskList(def, d_config) < 0) {
-        goto error;
+        return -1;
     }
 
     if (libxlMakeNicList(def, d_config) < 0) {
-        goto error;
+        return -1;
     }
 
     if (libxlMakeVfbList(driver, def, d_config) < 0) {
-        goto error;
+        return -1;
     }
 
     d_config->on_reboot = def->onReboot;
@@ -816,8 +816,4 @@ libxlBuildDomainConfig(libxlDriverPrivatePtr driver,
     d_config->on_crash = def->onCrash;
 
     return 0;
-
-error:
-    libxl_domain_config_dispose(d_config);
-    return -1;
 }
-- 
1.8.0.1

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]