tech-toolchain archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: TOCTOU bug in make(1)
On Sun, Oct 09, 2022 at 11:02:58PM +0200, Roland Illig wrote:
> > On Fri, Oct 07, 2022 at 12:46:06AM +0300, Valery Ushakov wrote:
> > > It also, unnecessarily, IMHO, decided to change the return type to
> > > a more "modern" bool thus further obscuring the fact that the
> > > function was a simple wrapper around unlink(2).
> >
> > Can we revert that? Using bool for success/failure is ambiguous (does
> > true mean it succeeded or failed? both are reasonable) whereas 0/-1 or
> > zero/nonzero is a clearly established and well understood idiom.
>
> Can you show me a function in the NetBSD source tree that has return
> type 'bool' (not 'int') and returns 'true' to indicate failure?
I don't know about in NetBSD as such, but in general I would say that
failed = do_some_things();
if (failed) {
...
}
is if anything more common than
ok = do_some_things();
if (!ok) {
...
}
because it preserves the common idiom (and widely held expectation)
that nonzero means failure.
But in any event, system calls and wrappers around them shouldn't be
returning bool.
--
David A. Holland
dholland%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index