[PATCH] lib/radix-tree: Fix uninitialized variable compilation warning

From: Rong Tao
Date: Thu Nov 10 2022 - 00:01:00 EST


From: Rong Tao <rongtao@xxxxxxxx>

We need to set an initial value for offset to eliminate compilation
warning. And if the tree is empty, return NULL early.

How to reproduce warning:

$ make -C tools/testing/radix-tree
radix-tree.c: In function ‘radix_tree_tag_clear’:
radix-tree.c:1046:17: warning: ‘offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
1046 | node_tag_clear(root, parent, tag, offset);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Rong Tao <rongtao@xxxxxxxx>
---
lib/radix-tree.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/radix-tree.c b/lib/radix-tree.c
index 3c78e1e8b2ad..eee453b856b6 100644
--- a/lib/radix-tree.c
+++ b/lib/radix-tree.c
@@ -1029,10 +1029,10 @@ void *radix_tree_tag_clear(struct radix_tree_root *root,
{
struct radix_tree_node *node, *parent;
unsigned long maxindex;
- int offset;
+ int offset = 0;

radix_tree_load_root(root, &node, &maxindex);
- if (index > maxindex)
+ if (index > maxindex || !node)
return NULL;

parent = NULL;
--
2.31.1