develooper Front page | perl.perl5.porters | Postings from June 2003

Re: your malloc patches

Thread Previous | Thread Next
From:
Jarkko Hietaniemi
Date:
June 20, 2003 03:37
Subject:
Re: your malloc patches
Message ID:
20030620103712.GR426218@kosh.hut.fi
Looking at the expansion of the FILLCHECK_DEADBEEF(), the number
of bytes passed down to cmp_pat_4bytes() is:

((1 << (((ovp)->ovu.ovu_index) >> 0)) - (sizeof(union overhead) + sizeof (unsigned int)) + (((ovp)->ovu.ovu_index >= 15 * 1) ? 4096 : 0)) - (nbytes - sizeof (unsigned int) + sizeof(unsigned int))

Which evaluates to -12, which looks to be the 18446744073709551604
received by the cmp_pat_4bytes().  This is what the ovp looks like:

(dbx) p *ovp
union {
    ov_next = 0x55555555000dff04
    strut = 1.1945302445456924e+103
    ovu = struct {
        ovu_index = '^D'
        ovu_magic = '\377'
        ovu_size = 13
        ovu_rmagic = 1431655765
    }
}

-- 
Jarkko Hietaniemi <jhi@iki.fi> http://www.iki.fi/jhi/ "There is this special
biologist word we use for 'stable'.  It is 'dead'." -- Jack Cohen

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About