Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Mon, 6 Jul 2020 18:00:46 -0400
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: Re: [PATCH] vfscanf: fix use of uninitialized variable

On Wed, Jul 01, 2020 at 03:12:14PM +0200, Julien Ramseier wrote:
> vfscanf() may use the variable 'alloc' uninitialized when taking the branch
> introduced by recent commit b287cd745c2243f8e5114331763a5a9813b5f6ee.
> 
> Spotted by clang:
> 
> .../lib/libc/src/stdio/vfscanf.c:80:6: warning: variable 'alloc' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
>         if (!f->rpos) goto input_fail;
>             ^~~~~~~~
> .../lib/libc/src/stdio/vfscanf.c:330:7: note: uninitialized use occurs here
>                 if (alloc) {
>                     ^~~~~
> 
> ---
>  src/stdio/vfscanf.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/stdio/vfscanf.c b/src/stdio/vfscanf.c
> index b5ebc16e..b78a374d 100644
> --- a/src/stdio/vfscanf.c
> +++ b/src/stdio/vfscanf.c
> @@ -57,7 +57,7 @@ int vfscanf(FILE *restrict f, const char *restrict fmt, va_list ap)
>  {
>  	int width;
>  	int size;
> -	int alloc;
> +	int alloc = 0;
>  	int base;
>  	const unsigned char *p;
>  	int c, t;
> -- 
> 2.23.0

Thanks, applied.

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.