Nicholas Clark wrote:

> The for loop inside trace_mem_block steps right over it. This if fails:
> 
>         /* Do a quick approximate range check by bit-masking */
>         if ((ptr & mask) == prefix || !prefix) {

Argh, yes. I have pointed out quite a time ago that this mask check 
isn't ok. Small and big memory chunks are allocated from different 
malloc pools so that the check doesn't really work.

I'd drop the mask test - or if possible you can fix it ;)

> Nicholas Clark

Thanks for your thorough analysis,
leo


Reply via email to