diff options
author | Tim Peters <tim.peters@gmail.com> | 2006-05-17 01:30:11 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2006-05-17 01:30:11 (GMT) |
commit | 402cc242f0e3c8cd7373893b44b911354ce9e09b (patch) | |
tree | 8c57846eb617017247aef1d75ac3177d50eb9161 | |
parent | 1b383570945595b5552c37859f4e17fb02575d05 (diff) | |
download | cpython-402cc242f0e3c8cd7373893b44b911354ce9e09b.zip cpython-402cc242f0e3c8cd7373893b44b911354ce9e09b.tar.gz cpython-402cc242f0e3c8cd7373893b44b911354ce9e09b.tar.bz2 |
PyZlib_copy(), PyZlib_uncopy(): Repair leaks on the normal-case path.
-rw-r--r-- | Modules/zlibmodule.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/Modules/zlibmodule.c b/Modules/zlibmodule.c index b41ed50..06b0690 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; |