diff options
author | Victor Stinner <victor.stinner@haypocalc.com> | 2010-01-31 22:32:15 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@haypocalc.com> | 2010-01-31 22:32:15 (GMT) |
commit | b4b0a2935db54457f6876f1991905cc9b4fce6e9 (patch) | |
tree | 74255455a860b095406c5898a3139c863e1d3eac | |
parent | f3fa07470381b4f54b2d3f911fc22624e9b0b27d (diff) | |
download | cpython-b4b0a2935db54457f6876f1991905cc9b4fce6e9.zip cpython-b4b0a2935db54457f6876f1991905cc9b4fce6e9.tar.gz cpython-b4b0a2935db54457f6876f1991905cc9b4fce6e9.tar.bz2 |
Issue #7819: Check sys.call_tracing() arguments types.
py3k was already patched by issue #3661.
-rw-r--r-- | Lib/test/test_sys.py | 4 | ||||
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | Python/sysmodule.c | 2 |
3 files changed, 7 insertions, 1 deletions
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py index f58d900..6b45d12 100644 --- a/Lib/test/test_sys.py +++ b/Lib/test/test_sys.py @@ -433,6 +433,10 @@ class SysModuleTest(unittest.TestCase): out = p.communicate()[0].strip() self.assertEqual(out, '?') + def test_call_tracing(self): + self.assertEqual(sys.call_tracing(str, (2,)), "2") + self.assertRaises(TypeError, sys.call_tracing, str, 2) + class SizeofTest(unittest.TestCase): @@ -12,6 +12,8 @@ What's New in Python 2.7 alpha 3? Core and Builtins ----------------- +- Issue #7819: Check sys.call_tracing() arguments types. + - Issue #7788: Fix an interpreter crash produced by deleting a list slice with very large step value. diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 3a99197..65a9d8f 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -840,7 +840,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); } |