table: fix out of bounds write
Checks
Commit Message
Fix out of bounds write. The allocated string size was incorrect.
Coverity issue: 369670
Fixes: 66440b7b22f2 ("table: add wildcard match table type")
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
---
lib/librte_table/rte_swx_table_wm.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
Comments
07/04/2021 12:59, Cristian Dumitrescu:
> Fix out of bounds write. The allocated string size was incorrect.
>
> Coverity issue: 369670
> Fixes: 66440b7b22f2 ("table: add wildcard match table type")
>
> Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Applied, thanks
@@ -53,15 +53,14 @@ env_free(void *start, size_t size)
static char *get_unique_name(void)
{
- char *name;
- uint64_t *tsc;
+ uint64_t tsc = rte_get_tsc_cycles();
+ size_t size = sizeof(uint64_t) * 2 + 1;
+ char *name = calloc(1, size);
- name = calloc(7, 1);
if (!name)
return NULL;
- tsc = (uint64_t *) name;
- *tsc = rte_get_tsc_cycles();
+ snprintf(name, size, "%016" PRIx64, tsc);
return name;
}