Commit 063e2bf1 authored by Christian Heimes's avatar Christian Heimes

Issue #18552: Check return value of PyArena_AddPyObject() in obj2ast_object().

parent 7b6a1e23
...@@ -12,6 +12,9 @@ What's New in Python 3.3.3 release candidate 1? ...@@ -12,6 +12,9 @@ What's New in Python 3.3.3 release candidate 1?
Core and Builtins Core and Builtins
----------------- -----------------
- Issue #18552: Check return value of PyArena_AddPyObject() in
obj2ast_object().
- Issue #18560: Fix potential NULL pointer dereference in sum(). - Issue #18560: Fix potential NULL pointer dereference in sum().
- Issue #15905: Fix theoretical buffer overflow in handling of sys.argv[0], - Issue #15905: Fix theoretical buffer overflow in handling of sys.argv[0],
......
...@@ -834,9 +834,13 @@ static int obj2ast_object(PyObject* obj, PyObject** out, PyArena* arena) ...@@ -834,9 +834,13 @@ static int obj2ast_object(PyObject* obj, PyObject** out, PyArena* arena)
{ {
if (obj == Py_None) if (obj == Py_None)
obj = NULL; obj = NULL;
if (obj) if (obj) {
PyArena_AddPyObject(arena, obj); if (PyArena_AddPyObject(arena, obj) < 0) {
Py_XINCREF(obj); *out = NULL;
return -1;
}
Py_INCREF(obj);
}
*out = obj; *out = obj;
return 0; return 0;
} }
......
...@@ -688,9 +688,13 @@ static int obj2ast_object(PyObject* obj, PyObject** out, PyArena* arena) ...@@ -688,9 +688,13 @@ static int obj2ast_object(PyObject* obj, PyObject** out, PyArena* arena)
{ {
if (obj == Py_None) if (obj == Py_None)
obj = NULL; obj = NULL;
if (obj) if (obj) {
PyArena_AddPyObject(arena, obj); if (PyArena_AddPyObject(arena, obj) < 0) {
Py_XINCREF(obj); *out = NULL;
return -1;
}
Py_INCREF(obj);
}
*out = obj; *out = obj;
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment