forked from pool/libvirt
39 lines
1.4 KiB
Diff
39 lines
1.4 KiB
Diff
|
commit 88011ed280c4f946a7b8e7ffcea2335eb075de60
|
||
|
Author: Jim Fehlig <jfehlig@suse.com>
|
||
|
Date: Fri Apr 3 15:51:48 2020 -0600
|
||
|
|
||
|
libxl: fix crash when initializing driver
|
||
|
|
||
|
Commit 54a401af478 split out DriverConfigInit from DriverConfigNew, but
|
||
|
then called it a bit late from libxlStateInitialize. The cfg is used in
|
||
|
libxlDriverConfigLoadFile and when uninitialized results in a crash.
|
||
|
Calling DriverConfigInit immediately after DriverConfigNew fixes the
|
||
|
crash.
|
||
|
|
||
|
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
||
|
Reviewed-by: Erik Skultety <eskultet@redhat.com>
|
||
|
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||
|
|
||
|
Index: libvirt-6.2.0/src/libxl/libxl_driver.c
|
||
|
===================================================================
|
||
|
--- libvirt-6.2.0.orig/src/libxl/libxl_driver.c
|
||
|
+++ libvirt-6.2.0/src/libxl/libxl_driver.c
|
||
|
@@ -702,14 +702,14 @@ libxlStateInitialize(bool privileged,
|
||
|
if (!(cfg = libxlDriverConfigNew()))
|
||
|
goto error;
|
||
|
|
||
|
+ if (libxlDriverConfigInit(cfg) < 0)
|
||
|
+ goto error;
|
||
|
+
|
||
|
driverConf = g_strdup_printf("%s/libxl.conf", cfg->configBaseDir);
|
||
|
|
||
|
if (libxlDriverConfigLoadFile(cfg, driverConf) < 0)
|
||
|
goto error;
|
||
|
|
||
|
- if (libxlDriverConfigInit(cfg) < 0)
|
||
|
- goto error;
|
||
|
-
|
||
|
/* Register the callbacks providing access to libvirt's event loop */
|
||
|
libxl_osevent_register_hooks(cfg->ctx, &libxl_osevent_callbacks, cfg->ctx);
|
||
|
|