[Debichem-devel] Bug#468980: openbabel: may use different memory API for a given memory block

Matthias Klose doko at cs.tu-berlin.de
Sun Mar 2 16:23:11 UTC 2008


Package: openbabel
Severity: important
User: debian-release at lists.debian.org
Usertags: goal-python2.5

The C API requires using the same memory API for a given memory block,
which will show up as a segfault, at least in python2.5. This code was
found by a search of all sources build-depending on python-dev, having
a PyObject_ function for allocation and a PyMem_ function for
deallocation in the same file.  This may be a real problem, or a false
positive.

The most common error seen is of the form:

  PyObject *
  new_wadobject(WadFrame *f, int count) {
    wadobject   *self;
    self = PyObject_NEW(wadobject, &WadObjectType);
    [...]
  }

  static void
  wadobject_dealloc(wadobject *self) {
    PyMem_DEL(self);
  }

This particular example can be fixed with replacing PyMem_DEL with
PyObject_Del.

For more information, see
http://docs.python.org/api/memory.html
http://docs.python.org/api/memoryExamples.html

Please set the severity of this report to "serious", if it is a real
problem, please close the report if it is a false positive.  Ask
the debian-python at lists.debian.org ML for help. Archive of the
search results: http://ftp-master.debian.org/~he/affected-files.tar.gz





More information about the Debichem-devel mailing list