summaryrefslogtreecommitdiff
path: root/lib/igt_debugfs.c
diff options
context:
space:
mode:
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2019-01-28 12:52:27 +0100
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2019-02-01 10:54:44 +0100
commit973367176b61e81b5ca811620adb0467f6570aec (patch)
tree62e10a6b0a7041c09bb9dceba95cdbcb973a5eed /lib/igt_debugfs.c
parent5ce2b9cbcd71af4bd14bff0ac9c62453c8bdc3ce (diff)
debugfs: Fix writing an extra zero out of bounds in igt_crc_to_string_extended()
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'lib/igt_debugfs.c')
-rw-r--r--lib/igt_debugfs.c8
1 files 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;
}