diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-07-28 23:21:11 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2008-07-28 23:21:11 +0200 |
commit | 255e56d0508293858cdabc785fbd4a0f6e0c9f6b (patch) | |
tree | a4cdbf450f493f7568ccd11d917d3cd845811bd4 | |
parent | 6c6fee005ff5128b8c8e77568d5702be0d25e2f9 (diff) |
make sure we don't keep a round a va_list that is started but not stopped
-rw-r--r-- | libdaemon/dsignal.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/libdaemon/dsignal.c b/libdaemon/dsignal.c index e9ab2d9..2593d42 100644 --- a/libdaemon/dsignal.c +++ b/libdaemon/dsignal.c @@ -95,19 +95,17 @@ int daemon_signal_install(int s){ int daemon_signal_init(int s, ...) { int sig, r = 0; - va_list ap; - va_start(ap, s); if (_init() < 0) return -1; + va_start(ap, s); + sig = s; while (sig > 0) { - if (daemon_signal_install(sig) < 0) { - r = -1; + if ((r = daemon_signal_install(sig)) < 0) break; - } sig = va_arg(ap, int); } |