From: Ian Rogers Date: Thu, 14 Sep 2023 04:42:32 +0000 (-0700) Subject: perf symbol: Avoid an undefined behavior warning X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=21ce931e55c19c1f74378b4836d9dae631da0e62;p=linux.git perf symbol: Avoid an undefined behavior warning The node (nd) may be NULL and pointer arithmetic on NULL is undefined behavior. Move the computation of next below the NULL check on the node. Signed-off-by: Ian Rogers Cc: James Clark Link: https://lore.kernel.org/r/20230914044233.1550195-1-irogers@google.com Signed-off-by: Namhyung Kim --- diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index 3f36675b7c8ff..5b54d2639df47 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c @@ -202,11 +202,10 @@ void symbols__fixup_duplicate(struct rb_root_cached *symbols) curr = rb_entry(nd, struct symbol, rb_node); again: nd = rb_next(&curr->rb_node); - next = rb_entry(nd, struct symbol, rb_node); - if (!nd) break; + next = rb_entry(nd, struct symbol, rb_node); if (curr->start != next->start) continue;