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 <br...@osg.samsung.com> --- src/compositor-drm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/compositor-drm.c b/src/compositor-drm.c index f5f125a..70a3729 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' || -- 1.9.1 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel