From 27c4f26f8f9ef65b0553b7b49d0e5d35a685e5bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B0=D0=BD=D0=B8=D0=BB=D0=B0=20=D0=93=D0=BE=D1=80?= =?UTF-8?q?=D0=BD=D1=83=D1=88=D0=BA=D0=BE?= Date: Fri, 24 Nov 2023 07:15:11 +0300 Subject: [PATCH] fix bug with snprintf used instead of vsnprintf --- main/xvprintf.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/main/xvprintf.c b/main/xvprintf.c index 31ba327..3087883 100644 --- a/main/xvprintf.c +++ b/main/xvprintf.c @@ -15,10 +15,9 @@ void init_tx_ringbuf() { // This function will be called by the ESP log library every time ESP_LOG needs to be performed. // @important Do NOT use the ESP_LOG* macro's in this function ELSE recursive loop and stack overflow! So use printf() instead for debug messages. int xvprintf(const char *fmt, va_list args) { - char msg_to_send[500]; + char msg_to_send[200]; size_t str_len; - str_len = snprintf(msg_to_send, 499, fmt, va_arg(args, int), va_arg(args, char *)); - va_end(args); + str_len = vsnprintf(msg_to_send, 199, fmt, args); xRingbufferSend(can_messages, msg_to_send, str_len + 1, pdMS_TO_TICKS(100)); return str_len; }