From 3352922b777e13d83ba3f8df34f7e52dcf22f695 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Tvrd=C3=ADk?= Date: Tue, 29 Mar 2016 10:35:07 +0200 Subject: [PATCH] Birdtest: fix usage of variable argument lists --- test/birdtest.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/test/birdtest.c b/test/birdtest.c index 0e97f752..c315c759 100644 --- a/test/birdtest.c +++ b/test/birdtest.c @@ -230,11 +230,13 @@ bt_result(const char *to_right_align_msg, const char *to_left_align_msg, ...) { char msg_buf[BT_BUFFER_SIZE]; - snprintf(msg_buf, sizeof(char)*BT_BUFFER_SIZE, "%s: ", bt_filename); + snprintf(msg_buf, sizeof(msg_buf), "%s: ", bt_filename); va_list argptr; va_start(argptr, to_left_align_msg); - vsnprintf(msg_buf + strlen((char *)msg_buf), sizeof(msg_buf), to_left_align_msg, argptr); + uint used = strlen((char *) msg_buf); + vsnprintf(msg_buf + used, sizeof(msg_buf) - used, to_left_align_msg, argptr); + va_end(argptr); char fmt_buf[BT_BUFFER_SIZE]; uint line_len = strlen(msg_buf) + BT_PROMPT_OK_FAIL_LEN; @@ -259,5 +261,6 @@ bt_strncat_(char *buf, size_t buf_size, const char *str, ...) va_list argptr; va_start(argptr, str); vsnprintf(buf + strlen(buf), buf_size, str, argptr); + va_end(argptr); } }