diff options
Diffstat (limited to 'Python')
-rw-r--r-- | Python/Python-ast.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/Python/Python-ast.c b/Python/Python-ast.c index d78657c..7bf2c50 100644 --- a/Python/Python-ast.c +++ b/Python/Python-ast.c @@ -688,9 +688,13 @@ static int obj2ast_object(PyObject* obj, PyObject** out, PyArena* arena) { if (obj == Py_None) obj = NULL; - if (obj) - PyArena_AddPyObject(arena, obj); - Py_XINCREF(obj); + if (obj) { + if (PyArena_AddPyObject(arena, obj) < 0) { + *out = NULL; + return -1; + } + Py_INCREF(obj); + } *out = obj; return 0; } |