From 973367176b61e81b5ca811620adb0467f6570aec Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Mon, 28 Jan 2019 12:52:27 +0100 Subject: debugfs: Fix writing an extra zero out of bounds in igt_crc_to_string_extended() Signed-off-by: Maarten Lankhorst Reviewed-by: Jani Nikula --- lib/igt_debugfs.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c index 13f4f1c1..6cfaa975 100644 --- a/lib/igt_debugfs.c +++ b/lib/igt_debugfs.c @@ -458,17 +458,17 @@ char *igt_crc_to_string_extended(igt_crc_t *crc, char delimiter, int crc_size) int i; int len = 0; int field_width = 2 * crc_size; /* Two chars per byte. */ - char *buf = malloc((field_width+1) * crc->n_words * sizeof(char)); + char *buf = malloc((field_width+1) * crc->n_words); if (!buf) return NULL; - for (i = 0; i < crc->n_words; i++) + for (i = 0; i < crc->n_words - 1; i++) len += sprintf(buf + len, "%0*x%c", field_width, crc->crc[i], delimiter); - /* Eat the last delimiter */ - buf[len - 1] = '\0'; + sprintf(buf + len, "%0*x", field_width, crc->crc[i]); + return buf; } -- cgit v1.2.3