From: William Schaub Date: Sat, 11 Aug 2012 18:46:35 +0000 (-0400) Subject: dtcreate: Fix double free inside ProcessExecString() X-Git-Tag: 2.2.0b~83^2~26 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=b17e52a26919f9365ad77ed608d5ed65d99bd7c4;p=oweals%2Fcde.git dtcreate: Fix double free inside ProcessExecString() --- 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; }