Merged revisions 59925 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk/Modules/_ctypes
........
r59925 | thomas.heller | 2008-01-11 20:34:06 +0100 (Fr, 11 Jan 2008) | 5 lines
Raise an error instead of crashing with a segfault when a NULL
function pointer is called.
Will backport to release25-maint.
........
self.failUnlessEqual(strtok(None, "\n"), "c")
self.failUnlessEqual(strtok(None, "\n"), None)
+ def test_NULL_funcptr(self):
+ tp = CFUNCTYPE(c_int)
+ func = tp() # NULL function pointer
+ # raise a ValueError when we try to call it
+ self.assertRaises(ValueError, func)
+
if __name__ == '__main__':
unittest.main()
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.
pProc = *(void **)self->b_ptr;
+ if (pProc == NULL) {
+ PyErr_SetString(PyExc_ValueError,
+ "attempt to call NULL function pointer");
+ return NULL;
+ }
#ifdef MS_WIN32
if (self->index) {
/* It's a COM method */