assembleStatement: fix use-after-free

This commit is contained in:
Peter De Wachter 2016-01-23 16:35:02 +01:00
parent 8e5376efd9
commit e8b97b38d7

View File

@ -1455,9 +1455,10 @@ assembleStatement(statement, insideIf, ongoingFixupList)
statement->statementBody, statement-> statement->statementBody, statement->
cumulativeLineNumber, insideIf && cumulativeLineNumber, insideIf &&
isLastStatementInBlock(statement), &result)) { isLastStatementInBlock(statement), &result)) {
statementType *next = statement->nextStatement;
if (freeFlag && statementEvaluationDepth == 1) if (freeFlag && statementEvaluationDepth == 1)
freeStatement(statement); freeStatement(statement);
statement = statement->nextStatement; statement = next;
} else { } else {
if (freeFlag && statementEvaluationDepth == 1) if (freeFlag && statementEvaluationDepth == 1)
freeStatement(statement); freeStatement(statement);