From f2936d729f18aff49fa6db84ecf92ab5bc83268f Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Wed, 4 Jun 2008 15:11:23 -0700 Subject: [PATCH] Fix double free in %depend --- preproc.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/preproc.c b/preproc.c index 4052672..475cb7e 100644 --- a/preproc.c +++ b/preproc.c @@ -1840,7 +1840,7 @@ static int do_directive(Token * tline) origline = tline; skip_white_(tline); - if (!tok_type_(tline, TOK_PREPROC_ID) || + if (!tline || !tok_type_(tline, TOK_PREPROC_ID) || (tline->text[1] == '%' || tline->text[1] == '$' || tline->text[1] == '!')) return NO_DIRECTIVE_FOUND; @@ -2093,7 +2093,6 @@ static int do_directive(Token * tline) if (!t || (t->type != TOK_STRING && t->type != TOK_INTERNAL_STRING)) { error(ERR_NONFATAL, "`%%depend' expects a file name"); - free_tlist(t); free_tlist(origline); return DIRECTIVE_FOUND; /* but we did _something_ */ } @@ -2110,7 +2109,6 @@ static int do_directive(Token * tline) *deptail = sl; deptail = &sl->next; } - free_tlist(t); free_tlist(origline); return DIRECTIVE_FOUND; -- 2.7.4