summaryrefslogtreecommitdiffstats
path: root/Python/future.c
diff options
context:
space:
mode:
authorIrit Katriel <1055913+iritkatriel@users.noreply.github.com>2022-11-02 15:13:07 (GMT)
committerGitHub <noreply@github.com>2022-11-02 15:13:07 (GMT)
commit6d683d85252df3c8dba7c33f7db87cdc1bcb0bf0 (patch)
tree0f962cf408c26f42da79cd49338c71409467551d /Python/future.c
parentc76db37c0d23174cbffd6fa978d39693890ef020 (diff)
downloadcpython-6d683d85252df3c8dba7c33f7db87cdc1bcb0bf0.zip
cpython-6d683d85252df3c8dba7c33f7db87cdc1bcb0bf0.tar.gz
cpython-6d683d85252df3c8dba7c33f7db87cdc1bcb0bf0.tar.bz2
gh-87092: do not allocate PyFutureFeatures dynamically (GH-98913)
Diffstat (limited to 'Python/future.c')
-rw-r--r--Python/future.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/Python/future.c b/Python/future.c
index 2a45d2e..d56f733 100644
--- a/Python/future.c
+++ b/Python/future.c
@@ -96,22 +96,14 @@ future_parse(PyFutureFeatures *ff, mod_ty mod, PyObject *filename)
}
-PyFutureFeatures *
-_PyFuture_FromAST(mod_ty mod, PyObject *filename)
+int
+_PyFuture_FromAST(mod_ty mod, PyObject *filename, PyFutureFeatures *ff)
{
- PyFutureFeatures *ff;
-
- ff = (PyFutureFeatures *)PyObject_Malloc(sizeof(PyFutureFeatures));
- if (ff == NULL) {
- PyErr_NoMemory();
- return NULL;
- }
ff->ff_features = 0;
ff->ff_location = (_PyCompilerSrcLocation){-1, -1, -1, -1};
if (!future_parse(ff, mod, filename)) {
- PyObject_Free(ff);
- return NULL;
+ return 0;
}
- return ff;
+ return 1;
}