- 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);
+ }
+ }