Commit 402cc242 authored by Tim Peters's avatar Tim Peters

PyZlib_copy(), PyZlib_uncopy(): Repair leaks on the normal-case path.

parent 1b383570
...@@ -685,10 +685,12 @@ PyZlib_copy(compobject *self) ...@@ -685,10 +685,12 @@ PyZlib_copy(compobject *self)
goto error; 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->unused_data = self->unused_data;
retval->unconsumed_tail = self->unconsumed_tail; retval->unconsumed_tail = self->unconsumed_tail;
Py_INCREF(retval->unused_data);
Py_INCREF(retval->unconsumed_tail);
/* Mark it as being initialized */ /* Mark it as being initialized */
retval->is_initialised = 1; retval->is_initialised = 1;
...@@ -698,7 +700,7 @@ PyZlib_copy(compobject *self) ...@@ -698,7 +700,7 @@ PyZlib_copy(compobject *self)
error: error:
LEAVE_ZLIB LEAVE_ZLIB
Py_XDECREF(retval); Py_XDECREF(retval);
return NULL; return NULL;
} }
...@@ -734,10 +736,12 @@ PyZlib_uncopy(compobject *self) ...@@ -734,10 +736,12 @@ PyZlib_uncopy(compobject *self)
goto error; 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->unused_data = self->unused_data;
retval->unconsumed_tail = self->unconsumed_tail; retval->unconsumed_tail = self->unconsumed_tail;
Py_INCREF(retval->unused_data);
Py_INCREF(retval->unconsumed_tail);
/* Mark it as being initialized */ /* Mark it as being initialized */
retval->is_initialised = 1; retval->is_initialised = 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment