WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] libxl: free values in XLU_ConfigSetting.

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] libxl: free values in XLU_ConfigSetting.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 05 Aug 2010 01:35:36 -0700
Delivery-date: Thu, 05 Aug 2010 01:38:09 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1280934013 -3600
# Node ID 756d770ef5990bee77116a6a1c769024ea75c272
# Parent  eea7a2d7efab386ef6ccd0186e58a88d24587b8d
libxl: free values in XLU_ConfigSetting.

Fixes these valgrind reported leaks, found with "valgrind xl create -n ..."

==21170== 8 bytes in 3 blocks are definitely lost in loss record 1 of 3
==21170==    at 0x4022F0A: malloc (vg_replace_malloc.c:236)
==21170==    by 0x411B22F: strdup (in /lib/i686/cmov/libc-2.7.so)
==21170==    by 0x4030085: xlu__cfgl_strdup (libxlu_cfg.c:290)
==21170==    by 0x402F3C4: xlu__cfg_yylex (libxlu_cfg_l.l:37)
==21170==    by 0x402DD86: xlu__cfg_yyparse (libxlu_cfg_y.c:1338)
==21170==    by 0x40308AE: xlu_cfg_readdata (libxlu_cfg.c:85)
==21170==    by 0x804DBE4: parse_config_data (xl_cmdimpl.c:591)
==21170==    by 0x8056EE4: create_domain (xl_cmdimpl.c:1381)
==21170==    by 0x80582AE: main_create (xl_cmdimpl.c:3178)
==21170==    by 0x804B54B: main (xl.c:76)
==21170==
==21170== 57 bytes in 2 blocks are definitely lost in loss record 2 of 3
==21170==    at 0x4022F0A: malloc (vg_replace_malloc.c:236)
==21170==    by 0x402FE22: xlu__cfgl_dequote (libxlu_cfg.c:307)
==21170==    by 0x402F4B4: xlu__cfg_yylex (libxlu_cfg_l.l:52)
==21170==    by 0x402DD86: xlu__cfg_yyparse (libxlu_cfg_y.c:1338)
==21170==    by 0x40308AE: xlu_cfg_readdata (libxlu_cfg.c:85)
==21170==    by 0x804DBE4: parse_config_data (xl_cmdimpl.c:591)
==21170==    by 0x8056EE4: create_domain (xl_cmdimpl.c:1381)
==21170==    by 0x80582AE: main_create (xl_cmdimpl.c:3178)
==21170==    by 0x804B54B: main (xl.c:76)
==21170==
==21170== 111 bytes in 6 blocks are definitely lost in loss record 3 of 3
==21170==    at 0x4022F0A: malloc (vg_replace_malloc.c:236)
==21170==    by 0x402FE22: xlu__cfgl_dequote (libxlu_cfg.c:307)
==21170==    by 0x402F4ED: xlu__cfg_yylex (libxlu_cfg_l.l:56)
==21170==    by 0x402DD86: xlu__cfg_yyparse (libxlu_cfg_y.c:1338)
==21170==    by 0x40308AE: xlu_cfg_readdata (libxlu_cfg.c:85)
==21170==    by 0x804DBE4: parse_config_data (xl_cmdimpl.c:591)
==21170==    by 0x8056EE4: create_domain (xl_cmdimpl.c:1381)
==21170==    by 0x80582AE: main_create (xl_cmdimpl.c:3178)
==21170==    by 0x804B54B: main (xl.c:76)

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
---
 tools/libxl/libxlu_cfg.c |    4 ++++
 1 files changed, 4 insertions(+)

diff -r eea7a2d7efab -r 756d770ef599 tools/libxl/libxlu_cfg.c
--- a/tools/libxl/libxlu_cfg.c  Wed Aug 04 15:58:10 2010 +0100
+++ b/tools/libxl/libxlu_cfg.c  Wed Aug 04 16:00:13 2010 +0100
@@ -91,7 +91,11 @@ int xlu_cfg_readdata(XLU_Config *cfg, co
 }
 
 void xlu__cfg_set_free(XLU_ConfigSetting *set) {
+    int i;
+
     free(set->name);
+    for (i=0; i<set->nvalues; i++)
+        free(set->values[i]);
     free(set->values);
     free(set);
 }

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] libxl: free values in XLU_ConfigSetting., Xen patchbot-unstable <=