HEADS DOWN

Robert Watson rwatson at FreeBSD.org
Sat May 12 15:10:45 UTC 2007


On Fri, 11 May 2007, Sean C. Farley wrote:

> On Fri, 11 May 2007, Andrey Chernov wrote:
>
>> On Thu, May 10, 2007 at 06:58:45PM -0500, Sean C. Farley wrote:
>>>  Would there be any other changes anybody can see need to be made?  What
>>>  type of testing would be desired?  The regression tests I wrote provide
>>>  a good basic test.
>> 
>> I worry about this sort of things errx(EXIT_FAILURE, "environ corrupt");
>> 
>> There is no mention anywhere that *env() functions can exit the program. 
>> Moreover some programs in theory can temprorarily put incorrect values into 
>> environment via putenv() after-modification or direct environ assignments 
>> for their own reasons.
>> 
>> I suggest to change errx() to warnx()+return(failure).
>
> No need to worry any longer; I changed them into warnx().  What value should 
> I give errno?  I do not want the program to receive a random error code. 
> The first warnx() could be EINVAL.  The second warnx() would be a coding 
> error on my part.  EDOOFUS would fit.  :)  I know I should not use it. 
> EINVAL?

Actually, I'm not convinced that crashing the program isn't the right answer. 
If an application corrupts memory managed by libc or other libraries, crashing 
is generally considered an entirely acceptable failure mode.

Robert N M Watson
Computer Laboratory
University of Cambridge


More information about the freebsd-arch mailing list