On Tue, Jun 05, 2012 at 10:08:09AM +0200, Dimitry Andric wrote: > On 2012-06-04 23:34, Andrey A. Chernov wrote:> Author: ache > > Date: Mon Jun 4 21:34:49 2012 > > New Revision: 236582 > > URL: http://svn.freebsd.org/changeset/base/236582 > > > > Log: > > 1) IEEE Std 1003.1-2008, "errno" section, is explicit that > > > > "The setting of errno after a successful call to a function is > > unspecified unless the description of that function specifies that > > errno shall not be modified." > > > > However, free() in IEEE Std 1003.1-2008 does not mention its interaction > > with errno, so MAY modify it after successful call > > (it depends on particular free() implementation, OS-specific, etc.). > > Actually, it says the following: > > RETURN VALUE > > The free() function shall not return a value. > > ERRORS > > No errors are defined. > > How much clearer do you want it? ;) Not to mention that the patch was committed to _our_ implementation of libc, which uses _our_ free, and not some abstract free(3). Our free changing errno means that process state is so messed that worrying about realpath(3) correctness is beyond any expectations.
I already described my POV to ache, but it seems that nobody listens. It just a season, it seems.
pgpP5T65GIEKL.pgp
Description: PGP signature