From: Fredrik Lundh Date: Tue, 16 Jan 2001 07:05:29 +0000 (+0000) Subject: fixed a memory leak in pattern cleanup (patch #103248 by cgw) X-Git-Tag: v2.1a1~242 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6f5cba68fcf75ab9e8b8986033de648e6b96b2d5;p=python fixed a memory leak in pattern cleanup (patch #103248 by cgw) --- diff --git a/Modules/_sre.c b/Modules/_sre.c index efb704bdf5..f308dacdc0 100644 --- a/Modules/_sre.c +++ b/Modules/_sre.c @@ -24,7 +24,8 @@ * 2000-10-24 fl really fixed assert_not; reset groups in findall * 2000-12-21 fl fixed memory leak in groupdict * 2001-01-02 fl properly reset pointer after failed assertion in MIN_UNTIL - * 2001-01-15 fl don't use recursion for unbounded MIN_UTIL + * 2001-01-15 fl don't use recursion for unbounded MIN_UTIL; fixed + * 2001-01-16 fl fixed memory leak in pattern destructor * * Copyright (c) 1997-2001 by Secret Labs AB. All rights reserved. * @@ -1234,8 +1235,10 @@ _compile(PyObject* self_, PyObject* args) Py_DECREF(code); - if (PyErr_Occurred()) + if (PyErr_Occurred()) { + PyObject_DEL(self); return NULL; + } Py_INCREF(pattern); self->pattern = pattern; @@ -1532,6 +1535,7 @@ pattern_dealloc(PatternObject* self) { Py_XDECREF(self->pattern); Py_XDECREF(self->groupindex); + Py_XDECREF(self->indexgroup); PyObject_DEL(self); }