From: Tim Peters Date: Wed, 17 May 2006 01:30:11 +0000 (+0000) Subject: PyZlib_copy(), PyZlib_uncopy(): Repair leaks on the normal-case path. X-Git-Tag: v2.5b1~634 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=402cc242f0e3c8cd7373893b44b911354ce9e09b;p=thirdparty%2FPython%2Fcpython.git PyZlib_copy(), PyZlib_uncopy(): Repair leaks on the normal-case path. --- diff --git a/Modules/zlibmodule.c b/Modules/zlibmodule.c index b41ed50b5cd3..06b0690ecf8a 100644 --- a/Modules/zlibmodule.c +++ b/Modules/zlibmodule.c @@ -685,10 +685,12 @@ PyZlib_copy(compobject *self) goto error; } + Py_INCREF(self->unused_data); + Py_INCREF(self->unconsumed_tail); + Py_XDECREF(retval->unused_data); + Py_XDECREF(retval->unconsumed_tail); retval->unused_data = self->unused_data; retval->unconsumed_tail = self->unconsumed_tail; - Py_INCREF(retval->unused_data); - Py_INCREF(retval->unconsumed_tail); /* Mark it as being initialized */ retval->is_initialised = 1; @@ -698,7 +700,7 @@ PyZlib_copy(compobject *self) error: LEAVE_ZLIB - Py_XDECREF(retval); + Py_XDECREF(retval); return NULL; } @@ -734,10 +736,12 @@ PyZlib_uncopy(compobject *self) goto error; } + Py_INCREF(self->unused_data); + Py_INCREF(self->unconsumed_tail); + Py_XDECREF(retval->unused_data); + Py_XDECREF(retval->unconsumed_tail); retval->unused_data = self->unused_data; retval->unconsumed_tail = self->unconsumed_tail; - Py_INCREF(retval->unused_data); - Py_INCREF(retval->unconsumed_tail); /* Mark it as being initialized */ retval->is_initialised = 1;