From: Pavel TvrdĂ­k Date: Tue, 29 Mar 2016 08:35:07 +0000 (+0200) Subject: Birdtest: fix usage of variable argument lists X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3352922b777e13d83ba3f8df34f7e52dcf22f695;p=thirdparty%2Fbird.git Birdtest: fix usage of variable argument lists --- diff --git a/test/birdtest.c b/test/birdtest.c index 0e97f7522..c315c7598 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); } }