]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Birdtest: fix usage of variable argument lists
authorPavel Tvrdík <pawel.tvrdik@gmail.com>
Tue, 29 Mar 2016 08:35:07 +0000 (10:35 +0200)
committerPavel Tvrdík <pawel.tvrdik@gmail.com>
Wed, 30 Mar 2016 15:05:16 +0000 (17:05 +0200)
test/birdtest.c

index 0e97f7522ac2750c3815be9dda58d6d9f2f075cc..c315c75988769fc139aacb58df00f5dc9e08372e 100644 (file)
@@ -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);
   }
 }