From e8b97b38d73d792cb0ecb739ace6ff38c490354f Mon Sep 17 00:00:00 2001 From: Peter De Wachter Date: Sat, 23 Jan 2016 16:35:02 +0100 Subject: [PATCH] assembleStatement: fix use-after-free --- statementSemantics.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/statementSemantics.c b/statementSemantics.c index 2f6714f..1924d44 100644 --- a/statementSemantics.c +++ b/statementSemantics.c @@ -1455,9 +1455,10 @@ assembleStatement(statement, insideIf, ongoingFixupList) statement->statementBody, statement-> cumulativeLineNumber, insideIf && isLastStatementInBlock(statement), &result)) { + statementType *next = statement->nextStatement; if (freeFlag && statementEvaluationDepth == 1) freeStatement(statement); - statement = statement->nextStatement; + statement = next; } else { if (freeFlag && statementEvaluationDepth == 1) freeStatement(statement);