Merge pull request #8600 from inclyc/libexpr/fix-leaking-in-stripIndentation

libexpr: fix leaking `es2` in stripIndentation (parser.y)
This commit is contained in:
Robert Hensing 2023-06-29 11:31:53 +02:00 committed by GitHub
commit 1632f08ea2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -275,7 +275,12 @@ static Expr * stripIndentation(const PosIdx pos, SymbolTable & symbols,
}
/* If this is a single string, then don't do a concatenation. */
return es2->size() == 1 && dynamic_cast<ExprString *>((*es2)[0].second) ? (*es2)[0].second : new ExprConcatStrings(pos, true, es2);
if (es2->size() == 1 && dynamic_cast<ExprString *>((*es2)[0].second)) {
auto *const result = (*es2)[0].second;
delete es2;
return result;
}
return new ExprConcatStrings(pos, true, es2);
}