[OpenWrt-Devel] [PATCH procd] hotplug.c: Make sure hotplug buffer is NULL terminated

Hauke Mehrtens hauke at hauke-m.de
Wed Dec 19 06:19:01 EST 2018


Sets the final byte explicitly to NULL because we later do string
operations on this buffer.

Fixes Coverity issue 1430926 String not null terminated

Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 plug/hotplug.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/plug/hotplug.c b/plug/hotplug.c
index 80e6e4d..37b918e 100644
--- a/plug/hotplug.c
+++ b/plug/hotplug.c
@@ -545,10 +545,12 @@ static void hotplug_handler(struct uloop_fd *u, unsigned int ev)
 {
 	int i = 0;
 	static char buf[4096];
-	int len = recv(u->fd, buf, sizeof(buf), MSG_DONTWAIT);
+	int len = recv(u->fd, buf, sizeof(buf) - 1, MSG_DONTWAIT);
 	void *index;
 	if (len < 1)
 		return;
+	else
+		buf[len] = '\0';
 
 	blob_buf_init(&b, 0);
 	index = blobmsg_open_table(&b, NULL);
-- 
2.19.2


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list