Merged revisions 77499 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77499 | antoine.pitrou | 2010-01-14 18:25:24 +0100 (jeu., 14 janv. 2010) | 4 lines

  Issue #3299: Fix possible crash in the _sre module when given bad
  argument values in debug mode.  Patch by Victor Stinner.
........
This commit is contained in:
Antoine Pitrou 2010-01-14 17:34:48 +00:00
parent 6d4b00ccc1
commit 82feb1f360
3 changed files with 17 additions and 3 deletions

View file

@ -2674,6 +2674,10 @@ _compile(PyObject* self_, PyObject* args)
self = PyObject_NEW_VAR(PatternObject, &Pattern_Type, n);
if (!self)
return NULL;
self->weakreflist = NULL;
self->pattern = NULL;
self->groupindex = NULL;
self->indexgroup = NULL;
self->codesize = n;
@ -2689,7 +2693,7 @@ _compile(PyObject* self_, PyObject* args)
}
if (PyErr_Occurred()) {
PyObject_DEL(self);
Py_DECREF(self);
return NULL;
}
@ -3730,7 +3734,7 @@ static void
scanner_dealloc(ScannerObject* self)
{
state_fini(&self->state);
Py_DECREF(self->pattern);
Py_XDECREF(self->pattern);
PyObject_DEL(self);
}
@ -3860,10 +3864,11 @@ pattern_scanner(PatternObject* pattern, PyObject* args)
self = PyObject_NEW(ScannerObject, &Scanner_Type);
if (!self)
return NULL;
self->pattern = NULL;
string = state_init(&self->state, pattern, string, start, end);
if (!string) {
PyObject_DEL(self);
Py_DECREF(self);
return NULL;
}