[PATCH] Fix compiler warning in linux-namespaces.c

Sergio Durigan Junior sergiodj@redhat.com
Tue Aug 27 18:42:00 GMT 2019


On Tuesday, August 27 2019, Christian Biesinger via gdb-patches wrote:

> ../../gdb/nat/linux-namespaces.c: In function ‘void mnsh_main(int)’:
> ../../gdb/nat/linux-namespaces.c:604:8: warning: ‘fd’ may be used uninitialized in this function [-Wmaybe-uninitialized]
>   close (fd);
>   ~~~~~~^~~~
>
> And the warning is correct -- mnsh_recv_message can return -1 and leave fd
> uninitialized, and mnsh_main will still call close (fd) if that happens.
>
> Initialize fd to -1 to avoid that.

Thanks.  IMO this patch could be treated as obvious.

> gdb/ChangeLog:
>
> 2019-08-27  Christian Biesinger  <cbiesinger@google.com>
>
> 	* nat/linux-namespaces.c (mnsh_main): Initialize fd (to -1).
> ---
>  gdb/nat/linux-namespaces.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/gdb/nat/linux-namespaces.c b/gdb/nat/linux-namespaces.c
> index 503f755903..57843cda36 100644
> --- a/gdb/nat/linux-namespaces.c
> +++ b/gdb/nat/linux-namespaces.c
> @@ -562,14 +562,14 @@ mnsh_main (int sock)
>    while (1)
>      {
>        enum mnsh_msg_type type;
> -      int fd, int1, int2;
> +      int fd = -1, int1, int2;
>        char buf[PATH_MAX];
>        ssize_t size, response = -1;
>  
>        size = mnsh_recv_message (sock, &type,
>  				&fd, &int1, &int2,
>  				buf, sizeof (buf));
> -
> +`

This seems like a typo.

>        if (size >= 0 && size < sizeof (buf))
>  	{
>  	  switch (type)
> -- 
> 2.23.0.187.g17f5b7556c-goog

Cheers,

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/



More information about the Gdb-patches mailing list