Date: Sat, 23 Nov 2002 02:41:35 -0800 From: David Schultz <dschultz@uclink.Berkeley.EDU> To: Bruce Evans <bde@zeta.org.au> Cc: "M. Warner Losh" <imp@bsdimp.com>, marc@informatik.uni-bremen.de, freebsd-current@FreeBSD.ORG Subject: Re: malloc(0) broken? Message-ID: <20021123104135.GA13619@HAL9000.homeunix.com> In-Reply-To: <20021123195334.W48944-100000@gamplex.bde.org> References: <20021122.193635.99607054.imp@bsdimp.com> <20021123195334.W48944-100000@gamplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Thus spake Bruce Evans <bde@zeta.org.au>: > Er, malloc(0) is defined as returning either a null pointer or a pointer > to 0 bytes of allocated space. Which one it chooses to return is > implementation-defined, not undefined. C90 has a bogus requirement that > the pointer for malloc(0) be "unique", whatever that means. C99 only > requires that the objects pointed to by the results of malloc() be > disjoint, and this is satisfied by FreeBSD's behaviour of returning the > same magic pointer for each instance of malloc(0). In FreeBSD, malloc(0) returns a distinct pointer each time by making a 16-byte allocation. I seem to recall that it may have returned a single magic pointer at one time, so what you say might have been correct some time ago. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021123104135.GA13619>