[PATCH 1/2] lib/graph: avoid memset(NULL, 0, 0)
Jerin Jacob
jerinjacobk at gmail.com
Tue Jun 17 14:41:41 CEST 2025
On Tue, Jun 17, 2025 at 4:22 PM Marat Khalili <marat.khalili at huawei.com> wrote:
>
> This was flagged by undefined behaviour sanitizer: memset should not be
> called with NULL first argument. (memset requires first argument to be
> pointer to a memory object, so passing NULL may result in an undefined
> behaviour including among other things optimizer potentially removing
> code paths depending on stat->xstat_count being NULL.)
>
> Sanitizer message:
>
> lib/graph/graph_stats.c:473:2: runtime error: null pointer passed as
> argument 1, which is declared to never be null
>
> To fix the issue add a check that stat->xstat_count is not NULL before
> the call.
>
> Signed-off-by: Marat Khalili <marat.khalili at huawei.com>
Change subject as lib/graph: fix memset with NULL. Also add Fixes:
With that
Acked-by: Jerin Jacob <jerinj at marvell.com>
> ---
> lib/graph/graph_stats.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/lib/graph/graph_stats.c b/lib/graph/graph_stats.c
> index eac73cbf71..57cd72e7cc 100644
> --- a/lib/graph/graph_stats.c
> +++ b/lib/graph/graph_stats.c
> @@ -470,7 +470,9 @@ cluster_node_arregate_stats(struct cluster_node *cluster, bool dispatch)
> uint64_t *xstat;
> uint8_t i;
>
> - memset(stat->xstat_count, 0, sizeof(uint64_t) * stat->xstat_cntrs);
> + if (stat->xstat_count != NULL)
> + memset(stat->xstat_count, 0,
> + sizeof(uint64_t) * stat->xstat_cntrs);
> for (count = 0; count < cluster->nb_nodes; count++) {
> node = cluster->nodes[count];
>
> --
> 2.43.0
>
More information about the dev
mailing list