[fpc-devel] StrDispose FreeMem with size

Daniël Mantione daniel.mantione at freepascal.org
Fri Oct 13 09:55:27 CEST 2006



Op Fri, 13 Oct 2006, schreef Micha Nelissen:

> Peter Vreman wrote:
> > > Hi,
> > > =

> > > At cutils line 926, FreeMem is called for p with size strlen(p)+1.
> > > Could
> > > it be that actually a much bigger block was allocated, and not size
> > > strlen(p)+1 ?
> > =

> > The size parameter is ignored by the heap manager.
> =

> That's two bugs, then :).

No, it is a concious decision and Delphi compatible. The TP heap manager =

did not store the size of a block, so the size parameter was necessary. =

It was also possible to free only parts of blocks.

This is not possible with the FPC heap manager, it frees the entire heap =

block. So the size has no function.

Dani=EBl


More information about the fpc-devel mailing list