From 132ecb563da794f390209c20f94d4798839dc709 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Petr=20=C5=A0tetiar?= Date: Tue, 14 Jan 2020 08:57:05 +0100 Subject: [PATCH] blobmsg: blobmsg_vprintf: prefer vsnprintf MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Better safe than sorry and while at it add handling of possible *printf() failures. Reviewed-by: Jo-Philipp Wich Signed-off-by: Petr Å tetiar --- blobmsg.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/blobmsg.c b/blobmsg.c index 1dd57e1..3e34821 100644 --- a/blobmsg.c +++ b/blobmsg.c @@ -290,10 +290,17 @@ int blobmsg_vprintf(struct blob_buf *buf, const char *name, const char *format, len = vsnprintf(&cbuf, sizeof(cbuf), format, arg2); va_end(arg2); + if (len < 0) + return -1; + sbuf = blobmsg_alloc_string_buffer(buf, name, len + 1); if (!sbuf) return -1; - ret = vsprintf(sbuf, format, arg); + + ret = vsnprintf(sbuf, len + 1, format, arg); + if (ret < 0) + return -1; + blobmsg_add_string_buffer(buf); return ret; -- 2.25.1