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

Hauke Mehrtens hauke at hauke-m.de
Thu Dec 27 07:25:03 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..799123d 100644
--- a/plug/hotplug.c
+++ b/plug/hotplug.c
@@ -545,11 +545,13 @@ 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;
 
+	buf[len] = '\0';
+
 	blob_buf_init(&b, 0);
 	index = blobmsg_open_table(&b, NULL);
 	while (i < len) {
-- 
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