Re: [PATCH] Silence gcc false positive with -Wuninitialized

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ping ?

On Fri, Oct 18, 2013 at 02:53:08PM +0200, Christophe Fergeau wrote:
> Some versions of gcc warn about:
> red_channel.c: In function 'red_channel_client_wait_outgoing_item':
> red_channel.c:2331: error: 'end_time' may be used uninitialized in this function [-Wuninitialized]
> red_channel.c: In function 'red_channel_client_wait_pipe_item_sent':
> red_channel.c:2363: error: 'end_time' may be used uninitialized in this function [-Wuninitialized]
> red_channel.c: In function 'red_channel_wait_all_sent':
> red_channel.c:2401: error: 'end_time' may be used uninitialized in this function [-Wuninitialized]
> 
> This is a false positive as end_time is unitialized when timeout is -1, and
> we will only try to use end_time if timeout is not -1.
> 
> This commit initializes end_time to UINT64_MAX to avoid that warning. As
> the test involving end_time will never be reached, we ensure it's always
> TRUE so that it would be a noop even if it was reached.
> ---
>  server/red_channel.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/server/red_channel.c b/server/red_channel.c
> index 2cef2be..f2d1cca 100644
> --- a/server/red_channel.c
> +++ b/server/red_channel.c
> @@ -2336,6 +2336,8 @@ int red_channel_client_wait_outgoing_item(RedChannelClient *rcc,
>      }
>      if (timeout != -1) {
>          end_time = red_now() + timeout;
> +    } else {
> +        end_time = UINT64_MAX;
>      }
>      spice_info("blocked");
>  
> @@ -2367,8 +2369,11 @@ int red_channel_client_wait_pipe_item_sent(RedChannelClient *rcc,
>  
>      if (timeout != -1) {
>          end_time = red_now() + timeout;
> +    } else {
> +        end_time = UINT64_MAX;
>      }
>  
> +
>      rcc->channel->channel_cbs.hold_item(rcc, item);
>  
>      if (red_channel_client_blocked(rcc)) {
> @@ -2404,6 +2409,8 @@ int red_channel_wait_all_sent(RedChannel *channel,
>  
>      if (timeout != -1) {
>          end_time = red_now() + timeout;
> +    } else {
> +        end_time = UINT64_MAX;
>      }
>  
>      red_channel_push(channel);
> -- 
> 1.8.3.1
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel@xxxxxxxxxxxxxxxxxxxxx
> http://lists.freedesktop.org/mailman/listinfo/spice-devel

Attachment: pgp3VuUrMMYpC.pgp
Description: PGP signature

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]