two 4GB mallocs => SEGV
Willem Jan Withagen
wjw at withagen.nl
Tue Oct 26 07:47:21 PDT 2004
Georgi Guninski wrote:
> On Tue, Oct 26, 2004 at 03:51:22PM +0200, Willem Jan Withagen wrote:
>
>>And again on a 5.2 i386 box:
>>[/tmp] root at freebee> a.out
>>80000000
>
>
> actually on i386 linux i get 0 and i don't crash at all.
facinating, but true...
Willest compiling I get a warning of a overflow that 2G gives a wrap in long,
but things are interpreted unsigned as far as I see.
And that is because I changed your 4G to 2G, 'cause I only had 2Gb of mem and
5Gb of swap.
Yours just really overflows to 0, I guess. eg. if the optimizer (or the code)
calculates the expression from right to left, and *4 is done 'by shiftleft 2'
you're left with an all-zeros...
--WjW
More information about the freebsd-amd64
mailing list