[Python-checkins] r46022 - python/trunk/Modules/zlibmodule.c

tim.peters python-checkins at python.org
Wed May 17 03:30:11 CEST 2006


Author: tim.peters
Date: Wed May 17 03:30:11 2006
New Revision: 46022

Modified:
   python/trunk/Modules/zlibmodule.c
Log:
PyZlib_copy(), PyZlib_uncopy():  Repair leaks on the normal-case path.


Modified: python/trunk/Modules/zlibmodule.c
==============================================================================
--- python/trunk/Modules/zlibmodule.c	(original)
+++ python/trunk/Modules/zlibmodule.c	Wed May 17 03:30:11 2006
@@ -685,10 +685,12 @@
         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 @@
 
 error:
     LEAVE_ZLIB
-    Py_XDECREF(retval);	
+    Py_XDECREF(retval);
     return NULL;
 }
 
@@ -734,10 +736,12 @@
         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;


More information about the Python-checkins mailing list