diff --git a/ChangeLog b/ChangeLog index 8c5cf13b4..1a26b1b82 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Dec 22 16:12:27 CET 2008 (tk) +--------------------------------- + * shared/optparser.c: fix small memleak + Thu Dec 18 20:52:00 CET 2008 (tk) --------------------------------- * shared/optparser.c, freshclam: use the new option parser (bb#1215) diff --git a/shared/optparser.c b/shared/optparser.c index 831bcdf3f..72e81beac 100644 --- a/shared/optparser.c +++ b/shared/optparser.c @@ -446,6 +446,7 @@ static int optaddarg(struct optstruct *opts, const char *name, const char *strar if(pt->multiple) { if(!pt->active) { if(strarg) { + free(pt->strarg); pt->strarg = strdup(strarg); if(!pt->strarg) { fprintf(stderr, "ERROR: optaddarg: strdup() failed\n"); @@ -478,6 +479,7 @@ static int optaddarg(struct optstruct *opts, const char *name, const char *strar return 0; if(strarg) { + free(pt->strarg); pt->strarg = strdup(strarg); if(!pt->strarg) { fprintf(stderr, "ERROR: optaddarg: strdup() failed\n");