[Python-checkins] r83240 - in python/branches/release31-maint: Misc/NEWS Modules/_struct.c

mark.dickinson python-checkins at python.org
Thu Jul 29 23:43:24 CEST 2010


Author: mark.dickinson
Date: Thu Jul 29 23:43:24 2010
New Revision: 83240

Log:
Merged revisions 83239 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83239 | mark.dickinson | 2010-07-29 22:41:59 +0100 (Thu, 29 Jul 2010) | 2 lines
  
  Issue #9422:  Fix memory leak when re-initializing a struct.Struct object.
........


Modified:
   python/branches/release31-maint/   (props changed)
   python/branches/release31-maint/Misc/NEWS
   python/branches/release31-maint/Modules/_struct.c

Modified: python/branches/release31-maint/Misc/NEWS
==============================================================================
--- python/branches/release31-maint/Misc/NEWS	(original)
+++ python/branches/release31-maint/Misc/NEWS	Thu Jul 29 23:43:24 2010
@@ -323,6 +323,8 @@
 Extension Modules
 -----------------
 
+- Issue #9422: Fix memory leak when re-initializing a struct.Struct object.
+
 - Issue #7900: The getgroups(2) system call on MacOSX behaves rather oddly
   compared to other unix systems. In particular, os.getgroups() does
   not reflect any changes made using os.setgroups() but basicly always

Modified: python/branches/release31-maint/Modules/_struct.c
==============================================================================
--- python/branches/release31-maint/Modules/_struct.c	(original)
+++ python/branches/release31-maint/Modules/_struct.c	Thu Jul 29 23:43:24 2010
@@ -1233,6 +1233,9 @@
         PyErr_NoMemory();
         return -1;
     }
+    /* Free any s_codes value left over from a previous initialization. */
+    if (self->s_codes != NULL)
+        PyMem_FREE(self->s_codes);
     self->s_codes = codes;
 
     s = fmt;


More information about the Python-checkins mailing list