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

mark.dickinson python-checkins at python.org
Thu Jul 29 23:47:28 CEST 2010


Author: mark.dickinson
Date: Thu Jul 29 23:47:28 2010
New Revision: 83242

Log:
Merged revisions 83241 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/branches/release27-maint

................
  r83241 | mark.dickinson | 2010-07-29 22:44:47 +0100 (Thu, 29 Jul 2010) | 9 lines
  
  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/release26-maint/   (props changed)
   python/branches/release26-maint/Misc/NEWS
   python/branches/release26-maint/Modules/_struct.c

Modified: python/branches/release26-maint/Misc/NEWS
==============================================================================
--- python/branches/release26-maint/Misc/NEWS	(original)
+++ python/branches/release26-maint/Misc/NEWS	Thu Jul 29 23:47:28 2010
@@ -322,6 +322,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/release26-maint/Modules/_struct.c
==============================================================================
--- python/branches/release26-maint/Modules/_struct.c	(original)
+++ python/branches/release26-maint/Modules/_struct.c	Thu Jul 29 23:47:28 2010
@@ -1404,6 +1404,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