On Wed, Aug 10 2022, "Theo de Raadt" <dera...@openbsd.org> wrote:
> Scott Cheloha <scottchel...@gmail.com> wrote:
>
>> We're sorta-kinda circling around adding the missing (?) stdio error
>> checking to other utilities in bin/ and usr.bin/, no?  I want to be
>> sure I understand how to do the next patch, because if we do that it
>> will probably be a bunch of programs all at once.
>
>
> This specific program has not checked for this condition since at least
> 2 AT&T UNIX.
>
> Your change does not just add a new warning.  It adds a new exit code
> condition.
>
> Some scripts using echo, which accepted the condition because echo would
> exit 0 and not check for this condition, will now see this exit 1.  Some
> scripts will abort, because they use "set -o errexit" or similar.

About this, and only related to echo: the builtin version in ksh(1) does
report an error.  I have just tried the mentioned ENOSPC case with

  exec 3>/tmp/o/file; echo foobar >&3; echo $?

and /tmp/o being a full MFS filesystem.  So shell scripts run with
ksh(1) should already handle echo - the builtin - failures.
I think it makes sense for the echo(1) executable to behave like the
shell builtin.

For the other programs, well, I don't have a strong feeling.  I'll just
note that adding stdio error reporting has been done in some other
projects.

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to