mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-03-11 04:58:19 +03:00
sd-event: never pass negative errnos as signalfd to signalfd
We treat any negative value as "invalid fd", but signalfd only accepts -1.
This commit is contained in:
parent
da850694a9
commit
cbff793ffb
@ -659,7 +659,9 @@ static int event_make_signal_data(
|
||||
ss_copy = d->sigset;
|
||||
assert_se(sigaddset(&ss_copy, sig) >= 0);
|
||||
|
||||
r = signalfd(d->fd, &ss_copy, SFD_NONBLOCK|SFD_CLOEXEC);
|
||||
r = signalfd(d->fd >= 0 ? d->fd : -1, /* the first arg must be -1 or a valid signalfd */
|
||||
&ss_copy,
|
||||
SFD_NONBLOCK|SFD_CLOEXEC);
|
||||
if (r < 0) {
|
||||
r = -errno;
|
||||
goto fail;
|
||||
|
Loading…
x
Reference in New Issue
Block a user