From 9c7de167f85ac467bcae8534c4c0829f126cc7bf Mon Sep 17 00:00:00 2001 From: Bryce Harrington Date: Fri, 28 Aug 2015 13:04:26 -0700 Subject: [PATCH] compositor-drm: Ensure strings from EDID blobs are null terminated strncpy only adds null terminating bytes if the source string is smaller than the destination string. Since this function relies on the string being null terminated when checking its contents, we better make sure there is at least a \0 as the last character. Signed-off-by: Bryce Harrington Reviewed-by: Derek Foreman --- src/compositor-drm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/compositor-drm.c b/src/compositor-drm.c index 6777bf81..03c672ec 100644 --- a/src/compositor-drm.c +++ b/src/compositor-drm.c @@ -1933,6 +1933,9 @@ edid_parse_string(const uint8_t *data, char text[]) * terminated or not junk. */ strncpy(text, (const char *) data, 12); + /* guarantee our new string is null-terminated */ + text[12] = '\0'; + /* remove insane chars */ for (i = 0; text[i] != '\0'; i++) { if (text[i] == '\n' ||