Skip to content

Commit c4e1c0a

Browse files
authored
Fix segmentation fault in banout_vprintf
1 parent a31feaf commit c4e1c0a

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/proto-banout.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,8 +297,11 @@ banout_vprintf(struct BannerOutput *banout, unsigned proto,
297297
const char *fmt, va_list marker) {
298298
char str[10];
299299
int len;
300+
va_list marker_cpy; // a va_list is consumed when passed to vsnprintf.
300301

301-
len = vsnprintf(str, sizeof(str), fmt, marker);
302+
va_copy(marker_cpy, marker);
303+
len = vsnprintf(str, sizeof(str), fmt, marker_cpy);
304+
va_end(marker_cpy);
302305
if (len > sizeof(str)-1) {
303306
char *tmp = malloc(len+1);
304307
vsnprintf(tmp, len+1, fmt, marker);

0 commit comments

Comments
 (0)