From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yang Hongyang Subject: [PATCH]libxc: fix a Segmentation fault Date: Mon, 28 Jun 2010 14:45:55 +0800 Message-ID: <4C284523.4000304@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org # 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 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