> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Olivier Matz > Subject: [dpdk-dev] [PATCH] xstats: fix behavior when a null array is provided > > Coverity reports an issue in ethdev: > > *** CID 124562: Null pointer dereferences (FORWARD_NULL) > /lib/librte_ether/rte_ethdev.c: 1518 in rte_eth_xstats_get() > 1512 > 1513 /* global stats */ > 1514 for (i = 0; i < RTE_NB_STATS; i++) { > 1515 stats_ptr = RTE_PTR_ADD(ð_stats, > 1516 > rte_stats_strings[i].offset); > 1517 val = *stats_ptr; > >>> CID 124562: Null pointer dereferences (FORWARD_NULL) > >>> Dereferencing null pointer "xstats". > 1518 snprintf(xstats[count].name, > sizeof(xstats[count].name), > 1519 "%s", rte_stats_strings[i].name); > 1520 xstats[count++].value = val; > 1521 } > 1522 > 1523 /* per-rxq stats */ > > If a user calls rte_eth_xstats_get(portid, NULL, n) with n != 0, > it may result in a crash. Although the API documentation says that > n is the size of the table and xstats can be NULL if n == 0, we > can add an additional check here to make Coverity happy. > > In that case, the return value is the same than when n == 0 is > passed, it returns the number of statistics. > > Fixes: ce757f5c9a ("ethdev: new method to retrieve extended statistics") > Signed-off-by: Olivier Matz <olivier.matz at 6wind.com>
I'm unsure on how verbose commit messages are ideal, but there's certainly enough description here :) Acked-by: Harry van Haaren <harry.van.haaren at intel.com>