Hello,
coverity scan 189->190 only complained about three missing va_ends.
See attached patches.

Regards
Lukas
>From 8b5667702257bc561ba7a67301080f0092538333 Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnyk...@redhat.com>
Date: Fri, 21 Sep 2012 10:22:46 +0200
Subject: [PATCH 1/2] shared: call va_end in all cases

---
 src/shared/log.c  |    2 +-
 src/shared/util.c |    4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/shared/log.c b/src/shared/log.c
index 7b0a914..b618458 100644
--- a/src/shared/log.c
+++ b/src/shared/log.c
@@ -719,7 +719,6 @@ int log_struct_internal(
 
                         format = va_arg(ap, char *);
                 }
-                va_end(ap);
 
                 zero(mh);
                 mh.msg_iov = iovec;
@@ -731,6 +730,7 @@ int log_struct_internal(
                         r = 1;
 
         finish:
+                va_end(ap);
                 for (i = 1; i < n; i += 2)
                         free(iovec[i].iov_base);
 
diff --git a/src/shared/util.c b/src/shared/util.c
index be94515..97f766c 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
@@ -5024,8 +5024,10 @@ char *strjoin(const char *x, ...) {
                                 break;
 
                         n = strlen(t);
-                        if (n > ((size_t) -1) - l)
+                        if (n > ((size_t) -1) - l) {
+                                va_end(ap);
                                 return NULL;
+                        }
 
                         l += n;
                 }
-- 
1.7.6.5

>From 2f0091c2b0991e6d689fb9ea83a310874b2c0467 Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnyk...@redhat.com>
Date: Fri, 21 Sep 2012 10:23:08 +0200
Subject: [PATCH 2/2] core: call va_end in all cases

---
 src/core/selinux-access.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/core/selinux-access.c b/src/core/selinux-access.c
index 8a84071..8513634 100644
--- a/src/core/selinux-access.c
+++ b/src/core/selinux-access.c
@@ -276,6 +276,7 @@ static int log_callback(int type, const char *fmt, ...)
                 vsnprintf(buf, sizeof(buf), fmt, ap);
                 audit_log_user_avc_message(audit_fd, AUDIT_USER_AVC,
                                            buf, NULL, NULL, NULL, 0);
+                va_end(ap);
                 return 0;
         }
 #endif
-- 
1.7.6.5

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to