Free arena on _PyCompile_AstOptimize failure in Py_CompileStringObject (GH-127910)
After commit
10a91d7e9 introduced arena cleanup, commit
2dfbd4f36
removed the free call when _PyCompile_AstOptimize fails.
(cherry picked from commit
cfeaa992ba9bad9be2687afcafd85156703d74e8)
Co-authored-by: Berker Peksag <berker.peksag@gmail.com>
if (flags && (flags->cf_flags & PyCF_ONLY_AST)) {
if ((flags->cf_flags & PyCF_OPTIMIZED_AST) == PyCF_OPTIMIZED_AST) {
if (_PyCompile_AstOptimize(mod, filename, flags, optimize, arena) < 0) {
+ _PyArena_Free(arena);
return NULL;
}
}