Derick Rethans wrote:
On Sun, 17 Nov 2002, Derick Rethans wrote:


On Sun, 17 Nov 2002, Brian Havard wrote:


When trying out the RC1 code I found that my GD test segfaults every time. I traced the problem to the fact that efree is used on memory that was allocated with strdup. See the fontlist variable in ext\gd\libgd\gdft.c:fontFetch()

This started happening when gdhelpers.c was changed to use emalloc etc in r1.3.
Thanks, I'll check the whole source for strdup now.

Okay, I committed this, but I found that some of the functions use malloc, others emalloc and more others use gdMalloc (which is a wrapper for emalloc). I don't think this is what we want, but I'm also afraid that changing everything to the gd* functions is a bad thing, as some of the structures should be persistent.
Ok, that's better but there's still a problem when running as an Apache module. It crashes on the 2nd image request & changing gdhelpers.c back to using malloc/free/strdup cures it. I haven't traced it but my money's on the font cache which is meant to be persistent between images (see "static gdCache_head_t *fontCache" at gdft.c:721) but is allocated with gdMalloc() & therefore emalloc() in gdCacheCreate().


--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to