Date: Mon, 31 May 2004 23:19:38 +0200 From: "Willem Jan Withagen" <wjw@withagen.nl> To: "Poul-Henning Kamp" <phk@phk.freebsd.dk> Cc: freebsd-current@freebsd.org Subject: Re: Possible bug in malloc-code Message-ID: <0c1301c44754$fc027160$471b3dd4@dual> References: <2675.1086036694@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
> In message <0be501c4474f$bb115400$471b3dd4@dual>, "Willem Jan Withagen" writes: > > > > i = 11 > >Alloc: n = 335544320, ADR = 0x00000000485D7000 > >Alloc: n = 402653184, ADR = 0x000000005C5D7000 > >Alloc: n = 469762048, ADR = 0x00000000745D7000 > >Alloc: n = 536870912, ADR = 0xFFFFFFFF905D7000 > >Free: n = 536870912, ADR = 0xFFFFFFFF905D7000 > >rMemoryDrv in free(): error: junk pointer, too high to make sense > >Abort (core dumped) > > As for this part: Does the program in fact have a prototype for > malloc(3) in sight ? Can you try to explicitly add a wrong prototype > to see that it complains ? Alternatively, #include <stdlib.h> to get > it a prototype. > > I looked briefly at the source code of the test-program and while I am > in a position to say that it is doing something wrong with the casting, > it does look mightily bogus to me. Fair question, and to be honest. I assume(d) that it somewhere in its infinite load of obscurity included stdlib.h Hold on, I'll check.... Well I'm actually using calloc() since the original writer assumes that malloc returns zero-ed space. And looking through the preprocessed output stdlib.h is not included.... And bingo, we have a winner with stdlib.h manually included: Alloc/Free large not inverse 11 Alloc: n = 402653184, ADR = 0x00000000605E7000 Alloc/Free large not inverse 11 Alloc: n = 402653184, ADR = 0x00000000785E7000 Alloc/Free large not inverse 11 i = 12 Alloc: n = 671088640, ADR = 0x00000000905E7000 Alloc: n = 805306368, ADR = 0x00000000B85E7000 Alloc: n = 939524096, ADR = 0x00000000E85E7000 No more sign-extention trouble I'm afraid that these kinds of 'bugs' are going to haunt me for the remainder of porting the tool. :( Thanx, --WjW
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0c1301c44754$fc027160$471b3dd4>