From b17e52a26919f9365ad77ed608d5ed65d99bd7c4 Mon Sep 17 00:00:00 2001 From: William Schaub Date: Sat, 11 Aug 2012 14:46:35 -0400 Subject: [PATCH] dtcreate: Fix double free inside ProcessExecString() --- cde/programs/dtcreate/parser.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cde/programs/dtcreate/parser.c b/cde/programs/dtcreate/parser.c index 7886e086..a62476af 100644 --- a/cde/programs/dtcreate/parser.c +++ b/cde/programs/dtcreate/parser.c @@ -851,7 +851,7 @@ int done=FALSE, argfound=FALSE,promptfound=FALSE; covers the complete string between %'s */ - if(argbuf) free(argbuf); + if(argbuf) { free(argbuf); argbuf = NULL; } if(s2) { argbuf = (char *)calloc(1,(s2-s1)+2); @@ -877,7 +877,7 @@ int done=FALSE, argfound=FALSE,promptfound=FALSE; else if (s1 && *s1) { strcat(exec_args[0],s1); - if(argbuf) free(argbuf); + if(argbuf) { free(argbuf); argbuf = NULL; } done = TRUE; continue; } @@ -934,7 +934,7 @@ int done=FALSE, argfound=FALSE,promptfound=FALSE; argfound = FALSE; s1=s2; } - if(argbuf) free(argbuf); + if(argbuf) { free(argbuf); argbuf = NULL; } return exec_args; } -- 2.25.1