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