[Python-checkins] r82528 - in python/branches/release31-maint: Modules/audioop.c

mark.dickinson python-checkins at python.org
Sun Jul 4 12:15:59 CEST 2010


Author: mark.dickinson
Date: Sun Jul  4 12:15:59 2010
New Revision: 82528

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

........
  r82527 | mark.dickinson | 2010-07-04 11:15:11 +0100 (Sun, 04 Jul 2010) | 1 line
  
  Fix refleak in Modules/audioop.c.
........


Modified:
   python/branches/release31-maint/   (props changed)
   python/branches/release31-maint/Modules/audioop.c

Modified: python/branches/release31-maint/Modules/audioop.c
==============================================================================
--- python/branches/release31-maint/Modules/audioop.c	(original)
+++ python/branches/release31-maint/Modules/audioop.c	Sun Jul  4 12:15:59 2010
@@ -804,10 +804,13 @@
         return 0;
     cp = pcp.buf;
     len = pcp.len;
-    if (!audioop_check_parameters(len, size))
+    if (!audioop_check_parameters(len, size)) {
+        PyBuffer_Release(&pcp);
         return NULL;
+    }
     if (((len / size) & 1) != 0) {
         PyErr_SetString(AudioopError, "not a whole number of frames");
+        PyBuffer_Release(&pcp);
         return NULL;
     }
 
@@ -821,8 +824,10 @@
     }
 
     rv = PyBytes_FromStringAndSize(NULL, len/2);
-    if ( rv == 0 )
+    if ( rv == 0 ) {
+        PyBuffer_Release(&pcp);
         return 0;
+    }
     ncp = (signed char *)PyBytes_AsString(rv);
 
 


More information about the Python-checkins mailing list