]> granicus.if.org Git - python/commitdiff
Issue #3299: replace PyObject_DEL() by Py_DECREF() in _sre module to fix a
authorVictor Stinner <victor.stinner@haypocalc.com>
Thu, 4 Mar 2010 21:59:53 +0000 (21:59 +0000)
committerVictor Stinner <victor.stinner@haypocalc.com>
Thu, 4 Mar 2010 21:59:53 +0000 (21:59 +0000)
crash in pydebug mode.

Lib/test/test_re.py
Modules/_sre.c

index 2107b3ade22091501eec58b4bc7fc16a0340378c..d2f7f6e52eb980aeb3ffb125e5e8bf0659eb0005 100644 (file)
@@ -727,6 +727,7 @@ class ReTests(unittest.TestCase):
         long_overflow = 2**128
         self.assertRaises(TypeError, re.finditer, "a", {})
         self.assertRaises(OverflowError, _sre.compile, "abc", 0, [long_overflow])
+        self.assertRaises(TypeError, _sre.compile, {}, 0, [])
 
 def run_re_tests():
     from test.re_tests import benchmarks, tests, SUCCEED, FAIL, SYNTAX_ERROR
index 7b3ee5fe3a8ed9b1670d9652da94151f1b610df6..8f3b8cea8a59fd5b0d24d1733138e63fb9eeeac4 100644 (file)
@@ -2702,7 +2702,7 @@ _compile(PyObject* self_, PyObject* args)
        else {
                Py_ssize_t p_length;
                if (!getstring(pattern, &p_length, &self->charsize)) {
-                       PyObject_DEL(self);
+                       Py_DECREF(self);
                        return NULL;
                }
        }