[Python-Dev] survey of extension module memory managment
Neil Schemenauer
nas@python.ca
Mon, 18 Mar 2002 16:46:31 -0800
I randomly grabbed a bunch of extension modules by searching the
python.org topic guides and by using Parnassus. I looked at 20
different packages. 12 of them implemented an extension type. 12 of
them use the memory management API incorrectly and will break if
pymalloc is enabled. That's worse than I thought.
Here is the comment list of packages with extension types:
DB2-Python-0.991
Allocates with PyObject_NEW and deallocates with PyMem_DEL
DCOracle-1.3.1b1
Allocates with PyObject_NEW and deallocates with PyMem_DEL
Kinterbasdb
Allocates with PyObject_NEW and deallocates with PyMem_DEL
MySQL-python-0.3.5
Allocates with PyObject_NEW and deallocates with PyMem_Free
PyGreSQL-3.3-pre011203
Allocates with PyObject_NEW and deallocates with PyMem_DEL
avl-2.0
Allocates with PyObject_NEW and deallocates with PyMem_DEL
crng-1.1
Allocates with PyObject_NEW and deallocates with PyMem_Free
sybase-0.33
Allocates with PyObject_NEW and deallocates with PyMem_DEL
pysdl-0.0.7
Allocates with PyObject_NEW and deallocates with PyMem_DEL
sketch-0.6.13
Allocates with PyObject_NEW and reallocates with realloc,
deallocates with free
pyshout-0.0.6
Allocates with PyObject_NEW and deallocates with PyMem_DEL
pwin
Allocates with PyObject_NEW and deallocates with PyMem_DEL