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 <ha...@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@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to