aboutgitcodebugslistschat
path: root/log.c
diff options
context:
space:
mode:
authorStefano Brivio <sbrivio@redhat.com>2023-11-07 12:17:07 +0100
committerStefano Brivio <sbrivio@redhat.com>2023-11-07 12:24:27 +0100
commit50bc25a23cfb2c9f3708cfdb3e2787ddf3d5ab34 (patch)
tree7a64542274b1be806f2946d9204ad6248de88d5b /log.c
parent9494a51a4e079f4aead3e07a6bdf1c43b4516133 (diff)
downloadpasst-50bc25a23cfb2c9f3708cfdb3e2787ddf3d5ab34.tar
passt-50bc25a23cfb2c9f3708cfdb3e2787ddf3d5ab34.tar.gz
passt-50bc25a23cfb2c9f3708cfdb3e2787ddf3d5ab34.tar.bz2
passt-50bc25a23cfb2c9f3708cfdb3e2787ddf3d5ab34.tar.lz
passt-50bc25a23cfb2c9f3708cfdb3e2787ddf3d5ab34.tar.xz
passt-50bc25a23cfb2c9f3708cfdb3e2787ddf3d5ab34.tar.zst
passt-50bc25a23cfb2c9f3708cfdb3e2787ddf3d5ab34.zip
log: Match implicit va_start() with va_end() in vlogmsg()
According to C99, 7.15.1: Each invocation of the va_start and va_copy macros shall be matched by a corresponding invocation of the va_end macro in the same function and the same applies to C11. I still have to come across a platform where va_end() actually does something, but thus spake the standard. This would be reported by Coverity as "Missing varargs init or cleanup" (CWE-573). Fixes: c0426ff10bc9 ("log: Add vlogmsg()") Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'log.c')
-rw-r--r--log.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/log.c b/log.c
index 95c4fa4..b206f72 100644
--- a/log.c
+++ b/log.c
@@ -67,6 +67,8 @@ void vlogmsg(int pri, const char *format, va_list ap)
logfile_write(pri, format, ap2);
else if (!(setlogmask(0) & LOG_MASK(LOG_DEBUG)))
passt_vsyslog(pri, format, ap2);
+
+ va_end(ap2);
}
if ((setlogmask(0) & LOG_MASK(LOG_DEBUG) && log_file == -1) ||