trace: fix metadata dump
authorDavid Marchand <david.marchand@redhat.com>
Wed, 28 Oct 2020 21:02:48 +0000 (22:02 +0100)
committerDavid Marchand <david.marchand@redhat.com>
Thu, 29 Oct 2020 21:49:22 +0000 (22:49 +0100)
The ctf metadata is written to the metadata file without any check for
length, so this string must be null terminated.

Fixes: f1a099f5b1f1 ("trace: create CTF TDSL metadata in memory")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Sunil Kumar Kori <skori@mavell.com>
lib/librte_eal/common/eal_common_trace_ctf.c

index ac1f64d..22615c4 100644 (file)
@@ -37,11 +37,12 @@ meta_copy(char **meta, int *offset, char *str, int rc)
        if (rc < 0)
                return rc;
 
-       ptr = realloc(ptr, count + rc);
+       ptr = realloc(ptr, count + rc + 1);
        if (ptr == NULL)
                goto free_str;
 
        memcpy(RTE_PTR_ADD(ptr, count), str, rc);
+       ptr[count + rc] = '\0';
        count += rc;
        free(str);