From: mquinson Date: Mon, 31 Jul 2006 08:47:31 +0000 (+0000) Subject: Plug a memleak found by FS X-Git-Tag: v3.3~2710 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/3c7f8070aa73f3cf0c8ad0b799d46aa581a4437e Plug a memleak found by FS git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2649 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/xbt/config.c b/src/xbt/config.c index 9e982a9d73..7e96cb8e99 100644 --- a/src/xbt/config.c +++ b/src/xbt/config.c @@ -723,8 +723,14 @@ xbt_cfg_set_string(xbt_cfg_t cfg,const char*name, const char*val) { variable = xbt_cfgelm_get(cfg,name,xbt_cfgelm_string); if (variable->max == 1) { - if (variable->cb_rm && xbt_dynar_length(variable->content)) - (*variable->cb_rm)(name, 0); + if (xbt_dynar_length(variable->content)) { + if (variable->cb_rm) + (*variable->cb_rm)(name, 0); + else if (variable->type == xbt_cfgelm_string) { + char * sval=xbt_dynar_get_as(variable->content,0,char*); + free(sval); + } + } xbt_dynar_set(variable->content,0,&newval); } else {