diff options
author | Benjamin Peterson <benjamin@python.org> | 2008-08-23 20:32:27 +0000 |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2008-08-23 20:32:27 +0000 |
commit | 6784eb79c91b63f468f91dad61c39932dfaad58a (patch) | |
tree | 8cb13c57b9dc735a5fc44b8fe814fc0d349e4cfa | |
parent | bc74e5be1a7c1647e87218c8548fa50163cbf781 (diff) | |
download | cpython-git-6784eb79c91b63f468f91dad61c39932dfaad58a.tar.gz |
#3643 add more checks to _testcapi to prevent segfaults
Author: Victor Stinner
Reviewer: Benjamin Peterson
-rw-r--r-- | Misc/NEWS | 6 | ||||
-rw-r--r-- | Modules/_testcapimodule.c | 4 |
2 files changed, 10 insertions, 0 deletions
@@ -17,6 +17,12 @@ Core and Builtins Library ------- +Extension Modules +----------------- + +- Issue #3643: Added a few more checks to _testcapi to prevent segfaults by + exploitation of poor argument checking. + What's new in Python 3.0b3? =========================== diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c index 494937aa4e..995d789cfa 100644 --- a/Modules/_testcapimodule.c +++ b/Modules/_testcapimodule.c @@ -961,6 +961,10 @@ exception_print(PyObject *self, PyObject *args) if (!PyArg_ParseTuple(args, "O:exception_print", &value)) return NULL; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, "an exception instance is required"); + return NULL; + } tb = PyException_GetTraceback(value); PyErr_Display((PyObject *) Py_TYPE(value), value, tb); |