From: Roy Marples Date: Wed, 15 Nov 2017 15:14:24 +0000 (+0000) Subject: eloop: set _eloop in signal setup rather than start X-Git-Tag: v7.0.0-rc4~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0df464f2a2a9d451e58a31c4243a5bb68b740e44;p=thirdparty%2Fdhcpcd.git eloop: set _eloop in signal setup rather than start This fixes a potential issue where a signal could be received before eloop_start is called. --- diff --git a/src/eloop.c b/src/eloop.c index 3e007f09..5265578e 100644 --- a/src/eloop.c +++ b/src/eloop.c @@ -785,6 +785,8 @@ eloop_signal_mask(struct eloop *eloop, sigset_t *oldset) return -1; #ifndef HAVE_KQUEUE + _eloop = eloop; + memset(&sa, 0, sizeof(sa)); sa.sa_sigaction = eloop_signal3; sa.sa_flags = SA_SIGINFO; @@ -876,8 +878,6 @@ eloop_start(struct eloop *eloop, sigset_t *signals) #endif #ifndef HAVE_KQUEUE int timeout; - - _eloop = eloop; #endif assert(eloop != NULL);