Re: GD segfault in 4.3.0RC1

From: Date: Mon, 18 Nov 2002 12:07:59 +0000
Subject: Re: GD segfault in 4.3.0RC1
References: 1 2 3 4  Groups: php.dev 
Request: Send a blank email to php-dev+get-91252@lists.php.net to get a copy of this message
On Mon, 18 Nov 2002, Brian Havard wrote: > 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(). yeah, I'm going to revert back to the original memory management functions, it needs some thourough checking before we can swap again. Derick -- --------------------------------------------------------------------------- Derick Rethans http://derickrethans.nl/ JDI Media Solutions --------------[ if you hold a unix shell to your ear, do you hear the c? ]-

« previous php.dev (#91252) next »