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

[Xen-devel] [PATCH]libxc: fix a Segmentation fault



# xl list
xc: error: Could not obtain handle on privileged command interface (2 = No such 
file or directory): Internal error
Segmentation fault

This is because xc free the logger which xl created.

Signed-off-by: Yang Hongyang <yanghy@xxxxxxxxxxxxxx> 

diff -r b622e411eef8 tools/libxc/xc_private.c
--- a/tools/libxc/xc_private.c  Thu Jun 24 21:56:03 2010 +0100
+++ b/tools/libxc/xc_private.c  Mon Jun 28 22:48:07 2010 +0800
@@ -19,6 +19,7 @@
                                 xentoollog_logger *dombuild_logger,
                                 unsigned open_flags) {
     xc_interface xch_buf, *xch = &xch_buf;
+    int init_handler = 0;
 
     xch->fd = -1;
     xch->dombuild_logger_file = 0;
@@ -33,6 +34,7 @@
             xtl_createlogger_stdiostream(stderr, XTL_PROGRESS, 0);
         if (!xch->error_handler)
             goto err;
+        init_handler =1;
     }
 
     xch = malloc(sizeof(*xch));
@@ -52,7 +54,7 @@
     return xch;
 
  err:
-    if (xch) xtl_logger_destroy(xch->error_handler);
+    if (xch && init_handler) xtl_logger_destroy(xch->error_handler);
     if (xch != &xch_buf) free(xch);
     return 0;
 }

-- 
Regards
Yang Hongyang

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.