[PATCH] lib/glob: initialize back_str to silence uninitialized variable warning

Josh Law posted 1 patch 3 weeks, 4 days ago
lib/glob.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] lib/glob: initialize back_str to silence uninitialized variable warning
Posted by Josh Law 3 weeks, 4 days ago
From: Josh Law <objecting@objecting.org>

back_str is only used when back_pat is non-NULL, and both are always
set together, so it is safe in practice. Initialize back_str to NULL
to make this safety invariant explicit and silence compiler/static
analysis warnings.

Signed-off-by: Josh Law <objecting@objecting.org>
---
 lib/glob.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/glob.c b/lib/glob.c
index 69311568ad3d..7aca76c25bcb 100644
--- a/lib/glob.c
+++ b/lib/glob.c
@@ -47,7 +47,7 @@ bool __pure glob_match(char const *pat, char const *str)
 	 * (no exception for /), it can be easily proved that there's
 	 * never a need to backtrack multiple levels.
 	 */
-	char const *back_pat = NULL, *back_str;
+	char const *back_pat = NULL, *back_str = NULL;
 
 	/*
 	 * Loop over each token (character or class) in pat, matching
-- 
2.34.1
Re: [PATCH] lib/glob: initialize back_str to silence uninitialized variable warning
Posted by Andrew Morton 3 weeks, 4 days ago
On Thu, 12 Mar 2026 21:52:49 +0000 Josh Law <hlcj1234567@gmail.com> wrote:

> back_str is only used when back_pat is non-NULL, and both are always
> set together, so it is safe in practice. Initialize back_str to NULL
> to make this safety invariant explicit and silence compiler/static
> analysis warnings.
> 
> ...
>
> --- a/lib/glob.c
> +++ b/lib/glob.c
> @@ -47,7 +47,7 @@ bool __pure glob_match(char const *pat, char const *str)
>  	 * (no exception for /), it can be easily proved that there's
>  	 * never a need to backtrack multiple levels.
>  	 */
> -	char const *back_pat = NULL, *back_str;
> +	char const *back_pat = NULL, *back_str = NULL;
>  

I can certainly believe that some compiler versions will warn about
this, but please always quote the warning/error message when fixing
such things.