kern/144307: ENOENT set unnecessarily under certain
circumstances when malloc is called / fails
Jaakko Heinonen
jh at FreeBSD.org
Mon Jun 28 20:20:06 UTC 2010
The following reply was made to PR kern/144307; it has been noted by GNATS.
From: Jaakko Heinonen <jh at FreeBSD.org>
To: Garrett Cooper <gcooper at FreeBSD.org>
Cc: bug-followup at freebsd.org
Subject: Re: kern/144307: ENOENT set unnecessarily under certain
circumstances when malloc is called / fails
Date: Mon, 28 Jun 2010 23:10:11 +0300
On 2010-06-28, Garrett Cooper wrote:
> Or the malloc(3) call could be fixed with the couple of lines I
> noted (well, adlibbed of course...
>
> Which I agree with, but shouldn't we fix malloc(3) (and any other
> function calls that depend on malloc(3) for sensible results)?
It's not required for POSIX compliance at least. Did you actually read
the quotes from POSIX?
"The value of errno should only be examined when it is indicated to be
valid by a function's return value."
"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."
In other words the value of errno is undefined and shouldn't be
examined unless malloc(3) returns NULL.
--
Jaakko
More information about the freebsd-bugs
mailing list