summaryrefslogtreecommitdiffstats
path: root/playtree.c
diff options
context:
space:
mode:
Diffstat (limited to 'playtree.c')
-rw-r--r--playtree.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/playtree.c b/playtree.c
index a07e6f829c..61b00518fe 100644
--- a/playtree.c
+++ b/playtree.c
@@ -335,11 +335,13 @@ play_tree_set_param(play_tree_t* pt, char* name, char* val) {
if(ni > 0) {
if(pt->params[n].value != NULL) free(pt->params[n].value);
- pt->params[n].value = val;
+ pt->params[n].value = val != NULL ? strdup(val) : NULL;
return;
}
pt->params = (play_tree_param_t*)realloc(pt->params,(n+2)*sizeof(play_tree_param_t));
+ if(pt->params == NULL)
+ printf("Can't realloc params\n");
pt->params[n].name = strdup(name);
pt->params[n].value = val != NULL ? strdup(val) : NULL;
memset(&pt->params[n+1],0,sizeof(play_tree_param_t));