diff options
author | Stefano Brivio <sbrivio@redhat.com> | 2023-11-07 12:17:07 +0100 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2023-11-07 12:24:27 +0100 |
commit | 50bc25a23cfb2c9f3708cfdb3e2787ddf3d5ab34 (patch) | |
tree | 7a64542274b1be806f2946d9204ad6248de88d5b /log.c | |
parent | 9494a51a4e079f4aead3e07a6bdf1c43b4516133 (diff) | |
download | passt-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.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -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) || |