summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-07-28 23:21:11 +0200
committerLennart Poettering <lennart@poettering.net>2008-07-28 23:21:11 +0200
commit255e56d0508293858cdabc785fbd4a0f6e0c9f6b (patch)
treea4cdbf450f493f7568ccd11d917d3cd845811bd4
parent6c6fee005ff5128b8c8e77568d5702be0d25e2f9 (diff)
make sure we don't keep a round a va_list that is started but not stopped
-rw-r--r--libdaemon/dsignal.c8
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);
}