[Spice-devel] [PATCH] Silence gcc false positive with -Wuninitialized
Alon Levy
alevy at redhat.com
Sun Oct 27 13:36:14 CET 2013
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 10/25/2013 11:19 AM, Christophe Fergeau wrote:
> 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; }
>>
>> +
ACK with dropped whitespace change.
>> 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 at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/spice-devel
>>
>>
>> _______________________________________________ Spice-devel
>> mailing list Spice-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/spice-devel
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.15 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBAgAGBQJSbQi+AAoJEGSFt2Lm6PXuNmMH/iXe7+RVnceeMxatEOHGUGrG
JtlNFlrh2Nrn5sqkybcDXOwBx7Q8vhxAYQVrljlPgxFgGwVZEn+3FoGOt6qUaj5A
/5n5xXQusonDdqmyzibl5B5tTraEfaBuhkrA15ClZ3AJcKNrIV+vQdmQjDXEBP/i
HpYP7rDphmWSdgbwTDIHtVsvYFq1F7N1Dqmc3tW35keS3s/qjRAfVh8SmIVXQ3UJ
xfM/UqcSUTHCja3RFpEpF8CgJidpeN8K1eUNbAGtG4w7OVvBQi3kflkj/REMmJdD
RYP2ro+XpepG8dmL7pIEp2Khoo36dQONk2ZMnf/Mx4ZJNr4VYMd+35cin2rH+zM=
=H06m
-----END PGP SIGNATURE-----
More information about the Spice-devel
mailing list