Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Apr 2001 20:24:26 +1000
From:      Gregory Bond <gnb@itga.com.au>
To:        Doug Hardie <bc979@lafn.org>
Cc:        stable@FreeBSD.ORG, Kris Kennaway <kris@obsecurity.org>
Subject:   Re: Illegal Instruction in libm - Problem solved.... 
Message-ID:  <200104271024.UAA18292@lightning.itga.com.au>
In-Reply-To: Your message of Thu, 26 Apr 2001 23:20:17 -0700.

next in thread | raw e-mail | index | archive | help
> There is an interesting difference in malloc.  It defines the symbol 
> free and if you use that symbol in your program then it tends to 
> write over some part of your program.  By changing the symbol in my 
> program (an int) to a different name, the problem goes away and it 
> works properly.  I believe this behavior is new because it didn't 
> have this problem in FreeBSD 4.2-RELEASE.

Free() has been part of the malloc() package for as long as the C language has 
existed (more or less).  Redefining standard library names in your code is and 
always has been a bug.  The difference might be that under 4.2 the bug has 
repeatable consequences due to different code layout in the library or 
whatever.



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200104271024.UAA18292>