[PATCH iproute2] ip, route: fix minor compile warning

Subsystems: the rest

STALE3897d

5 messages, 3 authors, 2015-12-18 · open the first message on its own page

[PATCH iproute2] ip, route: fix minor compile warning

From: Daniel Borkmann <daniel@iogearbox.net>
Date: 2015-12-14 15:34:32

Seems like gcc (4.8.3) doesn't catch this false positive, triggering
after 0f7543322c5f ("route: ignore RTAX_HOPLIMIT of value -1"):

  iproute.c: In function 'print_route':
  iproute.c:301:12: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized]
     features &= ~RTAX_FEATURE_ECN;
              ^
  iproute.c:575:10: note: 'val' was declared here
      __u32 val;
            ^
So just shut it up by initializing to 0.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
---
 ip/iproute.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ip/iproute.c b/ip/iproute.c
index c42ea0b..867c8da 100644
--- a/ip/iproute.c
+++ b/ip/iproute.c
@@ -572,7 +572,7 @@ int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
 			mxlock = *(unsigned*)RTA_DATA(mxrta[RTAX_LOCK]);
 
 		for (i=2; i<= RTAX_MAX; i++) {
-			__u32 val;
+			__u32 val = 0;
 
 			if (mxrta[i] == NULL)
 				continue;
-- 
1.9.3

Re: [PATCH iproute2] ip, route: fix minor compile warning

From: Phil Sutter <phil@nwl.cc>
Date: 2015-12-14 15:51:07

On Mon, Dec 14, 2015 at 04:34:29PM +0100, Daniel Borkmann wrote:
Seems like gcc (4.8.3) doesn't catch this false positive, triggering
after 0f7543322c5f ("route: ignore RTAX_HOPLIMIT of value -1"):

  iproute.c: In function 'print_route':
  iproute.c:301:12: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized]
     features &= ~RTAX_FEATURE_ECN;
              ^
  iproute.c:575:10: note: 'val' was declared here
      __u32 val;
            ^
So just shut it up by initializing to 0.
Hmm. Interestingly, my patch shouldn't have changed anything relevant
for gcc's decision. OTOH, I don't see a warning using gcc-4.9.3.

Cheers, Phil

Re: [PATCH iproute2] ip, route: fix minor compile warning

From: Daniel Borkmann <daniel@iogearbox.net>
Date: 2015-12-14 15:53:23

On 12/14/2015 04:51 PM, Phil Sutter wrote:
On Mon, Dec 14, 2015 at 04:34:29PM +0100, Daniel Borkmann wrote:
quoted
Seems like gcc (4.8.3) doesn't catch this false positive, triggering
after 0f7543322c5f ("route: ignore RTAX_HOPLIMIT of value -1"):

   iproute.c: In function 'print_route':
   iproute.c:301:12: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized]
      features &= ~RTAX_FEATURE_ECN;
               ^
   iproute.c:575:10: note: 'val' was declared here
       __u32 val;
             ^
So just shut it up by initializing to 0.
Hmm. Interestingly, my patch shouldn't have changed anything relevant
for gcc's decision. OTOH, I don't see a warning using gcc-4.9.3.
If I revert it, the warning is gone for me ;) perhaps some heuristic issue
with that gcc version.

Cheers,
Daniel

Re: [PATCH iproute2] ip, route: fix minor compile warning

From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2015-12-18 01:11:57

On Mon, 14 Dec 2015 16:53:20 +0100
Daniel Borkmann [off-list ref] wrote:
On 12/14/2015 04:51 PM, Phil Sutter wrote:
quoted
On Mon, Dec 14, 2015 at 04:34:29PM +0100, Daniel Borkmann wrote:
quoted
Seems like gcc (4.8.3) doesn't catch this false positive, triggering
after 0f7543322c5f ("route: ignore RTAX_HOPLIMIT of value -1"):

   iproute.c: In function 'print_route':
   iproute.c:301:12: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized]
      features &= ~RTAX_FEATURE_ECN;
               ^
   iproute.c:575:10: note: 'val' was declared here
       __u32 val;
             ^
So just shut it up by initializing to 0.
Hmm. Interestingly, my patch shouldn't have changed anything relevant
for gcc's decision. OTOH, I don't see a warning using gcc-4.9.3.
If I revert it, the warning is gone for me ;) perhaps some heuristic issue
with that gcc version.

Cheers,
Daniel
I don't see this warning on current master with gcc 4.9.2.

Re: [PATCH iproute2] ip, route: fix minor compile warning

From: Daniel Borkmann <daniel@iogearbox.net>
Date: 2015-12-18 09:18:26

On 12/18/2015 02:12 AM, Stephen Hemminger wrote:
On Mon, 14 Dec 2015 16:53:20 +0100
Daniel Borkmann [off-list ref] wrote:
quoted
On 12/14/2015 04:51 PM, Phil Sutter wrote:
quoted
On Mon, Dec 14, 2015 at 04:34:29PM +0100, Daniel Borkmann wrote:
quoted
Seems like gcc (4.8.3) doesn't catch this false positive, triggering
after 0f7543322c5f ("route: ignore RTAX_HOPLIMIT of value -1"):

    iproute.c: In function 'print_route':
    iproute.c:301:12: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized]
       features &= ~RTAX_FEATURE_ECN;
                ^
    iproute.c:575:10: note: 'val' was declared here
        __u32 val;
              ^
So just shut it up by initializing to 0.
Hmm. Interestingly, my patch shouldn't have changed anything relevant
for gcc's decision. OTOH, I don't see a warning using gcc-4.9.3.
If I revert it, the warning is gone for me ;) perhaps some heuristic issue
with that gcc version.

Cheers,
Daniel
I don't see this warning on current master with gcc 4.9.2.
Well, in the commit message I wrote 4.8.3 ... but I don't mind if we drop it, sure.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help