[Csv] bug fixed

Andrew McNamara andrewm at object-craft.com.au
Tue Feb 4 23:36:36 CET 2003


>especially the bit about "free() called with the middle of an allocated
>block".  Memory allocated with PyMem_Malloc() was being freed with free().
>Since Python now uses its own custom allocator layered on top of malloc,
>those calls really need to be balanced.  I've no idea what free() on the
>platforms you were using was doing (maybe ignoring, maybe scribbling), but
>thankfully free() on my Mac OS X machine complained.

It could even be something that endianess triggered, but most likely a
different malloc library. I guess you've answered my previous question
(re x86).

If I remember correctly, Python 2.3 and Python 2.2 are very different with
regard to memory allocation - most of our testing has been done with 2.2,
PyMem_Malloc is a thin layer on top of the system malloc, is it not?

>BTW, the Object Craft csv module has the same problem.  Time to release 1.1?
>;-)

Funnily enough, I had a weird heap corruption problem in a python
application that used csv a while back - because csv was the only
extension module I was using, I immediatly assumed csv was the source,
and spent many hours trying to find a miss-handled memory allocation. I
eventually decided the problem was elsewhere (can't remember details).
Looks like it might have been csv after all.

-- 
Andrew McNamara, Senior Developer, Object Craft
http://www.object-craft.com.au/


More information about the Csv mailing list