]> granicus.if.org Git - python/commitdiff
Merged revisions 77892 via svnmerge from
authorVictor Stinner <victor.stinner@haypocalc.com>
Sun, 31 Jan 2010 22:33:22 +0000 (22:33 +0000)
committerVictor Stinner <victor.stinner@haypocalc.com>
Sun, 31 Jan 2010 22:33:22 +0000 (22:33 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77892 | victor.stinner | 2010-01-31 23:32:15 +0100 (dim., 31 janv. 2010) | 4 lines

  Issue #7819: Check sys.call_tracing() arguments types.

  py3k was already patched by issue #3661.
........

Lib/test/test_sys.py
Misc/NEWS
Python/sysmodule.c

index 9589771542edb03d3a13e17c92bb556831384f30..a8829849b86adb69d78bd34a61938dc5e568b62e 100644 (file)
@@ -391,6 +391,10 @@ class SysModuleTest(unittest.TestCase):
         out = p.stdout.read().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):
 
index d299a68e20cef2fbd87aef326f22c3bf5f691c3a..200764dd4441127fd3ee77930da3bee7cb000045 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,8 @@ What's New in Python 2.6.5
 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.
 
index 10ba1cf668d38c3e29b41fb82b148c37b1b12122..721f77da9ad7d0ae761de5c0965f319e48f460d6 100644 (file)
@@ -802,7 +802,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);
 }