Re: [PATCH] radix tree test suite: Fix uninitialized variable compilation warning

From: Andrew Morton
Date: Wed Nov 09 2022 - 19:23:59 EST


On Wed, 9 Nov 2022 22:34:25 +0800 Rong Tao <rtoax@xxxxxxxxxxx> wrote:

> [PATCH] radix tree test suite: Fix uninitialized variable compilation warning

This is not the test suite.

> We need to set an initial value for offset to eliminate compilation
> warning.
>
> 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);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> ...
>
> --- a/lib/radix-tree.c
> +++ b/lib/radix-tree.c
> @@ -1029,7 +1029,7 @@ 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)

Are we sure this isn't actually a bug? What happens if the tree is empty?