From: Samuel Mendoza-Jonas Date: Wed, 11 Nov 2015 06:08:01 +0000 (+1100) Subject: discover: Null-terminate buffer in user_event_process() X-Git-Tag: v1.0.0~34^2~2 X-Git-Url: https://git.ozlabs.org/?p=petitboot;a=commitdiff_plain;h=999fd1a2053421b55cdd876049c40beb2921807f discover: Null-terminate buffer in user_event_process() Fixes Coverity defect #30480 Signed-off-by: Samuel Mendoza-Jonas --- diff --git a/discover/user-event.c b/discover/user-event.c index 69defa3..8cad1a9 100644 --- a/discover/user-event.c +++ b/discover/user-event.c @@ -488,10 +488,10 @@ static void user_event_handle_message(struct user_event *uev, char *buf, static int user_event_process(void *arg) { struct user_event *uev = arg; - char buf[PBOOT_USER_EVENT_SIZE]; + char buf[PBOOT_USER_EVENT_SIZE + 1]; int len; - len = recvfrom(uev->socket, buf, sizeof(buf), 0, NULL, NULL); + len = recvfrom(uev->socket, buf, PBOOT_USER_EVENT_SIZE, 0, NULL, NULL); if (len < 0) { pb_log("%s: socket read failed: %s", __func__, strerror(errno)); @@ -503,6 +503,8 @@ static int user_event_process(void *arg) return 0; } + buf[len] = '\0'; + pb_debug("%s: %u bytes\n", __func__, len); user_event_handle_message(uev, buf, len);