From: Neal Norwitz Date: Thu, 27 Mar 2008 04:40:07 +0000 (+0000) Subject: Fix memory leaks X-Git-Tag: v2.6a2~83 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4ebd46a02d7ab56b1398d7e5393dd32dc26becac;p=python Fix memory leaks --- diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c index 90990a744c..23de37e07a 100644 --- a/Objects/bytesobject.c +++ b/Objects/bytesobject.c @@ -2683,17 +2683,21 @@ bytes_extend(PyBytesObject *self, PyObject *arg) if (! _getbytevalue(item, &value)) { Py_DECREF(item); Py_DECREF(it); + PyMem_Free(buf); return NULL; } buf[len++] = value; Py_DECREF(item); if (len >= buf_size) { + char *new_buf; buf_size = len + (len >> 1) + 1; - buf = (char *)PyMem_Realloc(buf, buf_size * sizeof(char)); - if (buf == NULL) { + new_buf = (char *)PyMem_Realloc(buf, buf_size * sizeof(char)); + if (new_buf == NULL) { Py_DECREF(it); + PyMem_Free(buf); return PyErr_NoMemory(); } + buf = new_buf; } } Py_DECREF(it);