diff options
author | Barry Warsaw <barry@python.org> | 2008-10-17 01:29:56 (GMT) |
---|---|---|
committer | Barry Warsaw <barry@python.org> | 2008-10-17 01:29:56 (GMT) |
commit | e94a37f3a1b4bbd46f50922edcdf9293954fdd01 (patch) | |
tree | a8255b6e0181c51f0e43b4647c0d57e7193c3cb5 | |
parent | 460ce2abf7dbb93ba1583c27176b9f0c8ea44232 (diff) | |
download | cpython-e94a37f3a1b4bbd46f50922edcdf9293954fdd01.zip cpython-e94a37f3a1b4bbd46f50922edcdf9293954fdd01.tar.gz cpython-e94a37f3a1b4bbd46f50922edcdf9293954fdd01.tar.bz2 |
Benjamin Peterson's patch to fix bug 3661, sys.call_tracing segfaults.
-rw-r--r-- | Lib/test/test_sys.py | 3 | ||||
-rw-r--r-- | Python/sysmodule.c | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py index 5c1a8e9..a8c19ee 100644 --- a/Lib/test/test_sys.py +++ b/Lib/test/test_sys.py @@ -166,6 +166,9 @@ class SysModuleTest(unittest.TestCase): self.assert_(isinstance(v[3], int)) self.assert_(isinstance(v[4], str)) + def test_call_tracing(self): + self.assertRaises(TypeError, sys.call_tracing, type, 2) + def test_dlopenflags(self): if hasattr(sys, "setdlopenflags"): self.assert_(hasattr(sys, "getdlopenflags")) diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 10a8761..952f7e5 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -783,7 +783,7 @@ static PyObject * sys_call_tracing(PyObject *self, PyObject *args) { PyObject *func, *funcargs; - if (!PyArg_UnpackTuple(args, "call_tracing", 2, 2, &func, &funcargs)) + if (!PyArg_ParseTuple(args, "OO!:call_tracing", &func, &PyTuple_Type, &funcargs)) return NULL; return _PyEval_CallTracing(func, funcargs); } |