Backport from trunk:

Fix a potential 'SystemError: NULL result without error'.
  NULL may be a valid return value from PyLong_AsVoidPtr.
Also move an older ctypes NEWS item in the correct category.
This commit is contained in:
Thomas Heller 2008-01-16 19:24:20 +00:00
parent 2e7fde7069
commit f43a86b9d7
2 changed files with 5 additions and 3 deletions

View File

@ -12,8 +12,6 @@ What's New in Python 2.5.2c1?
Core and builtins
-----------------
- Prevent a segfault when a ctypes NULL function pointer is called.
- Bug #1517: Possible segfault in lookup().
- Issue #1638: %zd configure test fails on Linux.
@ -171,6 +169,10 @@ Library
Extension Modules
-----------------
- Fix a potential 'SystemError: NULL result without error' in _ctypes.
- Prevent a segfault when a ctypes NULL function pointer is called.
- Bug #1301: Bad assert in _tkinter fixed.
- Patch #1114: fix curses module compilation on 64-bit AIX, & possibly

View File

@ -2896,7 +2896,7 @@ CFuncPtr_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|| PyLong_Check(PyTuple_GET_ITEM(args, 0)))) {
CDataObject *ob;
void *ptr = PyLong_AsVoidPtr(PyTuple_GET_ITEM(args, 0));
if (ptr == NULL)
if (ptr == NULL && PyErr_Occurred())
return NULL;
ob = (CDataObject *)GenericCData_new(type, args, kwds);
if (ob == NULL)