gh-87092: do not allocate PyFutureFeatures dynamically (GH-98913)

This commit is contained in:
Irit Katriel 2022-11-02 15:13:07 +00:00 committed by GitHub
parent c76db37c0d
commit 6d683d8525
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 32 deletions

View file

@ -2144,14 +2144,13 @@ _Py_SymtableStringObjectFlags(const char *str, PyObject *filename,
_PyArena_Free(arena);
return NULL;
}
PyFutureFeatures *future = _PyFuture_FromAST(mod, filename);
if (future == NULL) {
PyFutureFeatures future;
if (!_PyFuture_FromAST(mod, filename, &future)) {
_PyArena_Free(arena);
return NULL;
}
future->ff_features |= flags->cf_flags;
st = _PySymtable_Build(mod, filename, future);
PyObject_Free((void *)future);
future.ff_features |= flags->cf_flags;
st = _PySymtable_Build(mod, filename, &future);
_PyArena_Free(arena);
return st;
}