Files
systemd/src/basic
Zbigniew Jędrzejewski-Szmek b29f6480ec basic/log: do not use global errno in log_*_errno()
Quoting https://github.com/systemd/systemd/pull/8760#discussion_r183321060:

> When we originally added the errno patching we went for a "best of both
> worlds" approach, i.e. that we override errno if an error is specified, but
> if no error is specified (i.e. 0 is passed as error code) then we use the
> previously set errno, similar in style how plain `printf()` would do it. In
> retrospect I think we almost never purposefully made use of the second,
> i.e. the plain `printf()` logic, but we multiple times ran into this case
> accidentally and introduced a bug. Hence yes, it probably makes sense to
> switch this over, and consistently ignore the `errno` already set and always
> override it with the error passed in. The only problem I see with that is: I
> wonder if there might be a case or two lurking somewhere where we actually
> made use of the "best of both worlds" approach, and if so, if we can detect
> where... (But then again, even if there is, and we fail to find those cases,
> maybe that's not all bad, as it's just a few new bugs against probably fixing
> many more old and future bugs, if you follow what I mean).

I scanned our codebase, and found some bugs in the value passed to log_*_errno,
but no intentional cases of error=0 being passed.
2018-04-24 14:10:27 +02:00
..
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-17 16:58:02 +02:00
2018-04-13 11:32:46 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-01-11 14:44:31 +01:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-20 11:09:44 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00
2018-04-06 18:58:55 +02:00