Hi guys!

I just wanted to point out that kaa does the wrong deallocation here and
there. In Python 2.5 this causes crashes.

The one biting me in the ass is in imlib2:

Index: imlib2/src/image.c
===================================================================
--- imlib2/src/image.c  (revision 2413)
+++ imlib2/src/image.c  (working copy)
@@ -152,7 +152,7 @@
     if (self->buffer) {
         Py_DECREF(self->buffer);
     }
-    PyMem_DEL(self);
+    PyObject_DEL(self);
 }

I found others here and there though so a general review is probably in
order.

>From the 2.5 release notes:

Note that this change means extension modules must be more careful when
allocating memory. Python's API has many different functions for
allocating memory that are grouped into families. For example,
PyMem_Malloc(), PyMem_Realloc(), and PyMem_Free() are one family that
allocates raw memory, while PyObject_Malloc(), PyObject_Realloc(), and
PyObject_Free() are another family that's supposed to be used for
creating Python objects.

Previously these different families all reduced to the platform's
malloc() and free() functions. This meant it didn't matter if you got
things wrong and allocated memory with the PyMem function but freed it
with the PyObject function. With 2.5's changes to obmalloc, these
families now do different things and mismatches will probably result in
a segfault. You should carefully test your C extension modules with
Python 2.5.

Rgds
-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-devel mailing list
Freevo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to