From: Lukas Nykryn Date: Fri, 21 Sep 2012 08:22:46 +0000 (+0200) Subject: shared: call va_end in all cases X-Git-Tag: v191~25 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e98055de981b568c31f18f470181ae166b56f172;p=thirdparty%2Fsystemd.git shared: call va_end in all cases --- diff --git a/src/shared/log.c b/src/shared/log.c index 7b0a9144a2b..b61845859f3 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 be94515d9d8..97f766c33c5 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; }