bridge: fix uninitialized variable warning
authorRoopa Prabhu <roopa@cumulusnetworks.com>
Tue, 13 Jan 2015 00:25:28 +0000 (16:25 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Jan 2015 21:39:36 +0000 (16:39 -0500)
net/bridge/br_netlink.c: In function ‘br_fill_ifinfo’:
net/bridge/br_netlink.c:146:32: warning: ‘vid_range_flags’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  err = br_fill_ifvlaninfo_range(skb, vid_range_start,
                                ^
net/bridge/br_netlink.c:108:6: note: ‘vid_range_flags’ was declared here
  u16 vid_range_flags;

Reported-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_netlink.c

index 0b03879488c41a9a7ec52061e7f92f39991603ce..66ece91ee165479643868e18f82422fcdd900b5b 100644 (file)
@@ -105,7 +105,7 @@ static int br_fill_ifvlaninfo_compressed(struct sk_buff *skb,
                                         const struct net_port_vlans *pv)
 {
        u16 vid_range_start = 0, vid_range_end = 0;
-       u16 vid_range_flags;
+       u16 vid_range_flags = 0;
        u16 pvid, vid, flags;
        int err = 0;
 
@@ -142,12 +142,14 @@ initvars:
                vid_range_flags = flags;
        }
 
-       /* Call it once more to send any left over vlans */
-       err = br_fill_ifvlaninfo_range(skb, vid_range_start,
-                                      vid_range_end,
-                                      vid_range_flags);
-       if (err)
-               return err;
+       if (vid_range_start != 0) {
+               /* Call it once more to send any left over vlans */
+               err = br_fill_ifvlaninfo_range(skb, vid_range_start,
+                                              vid_range_end,
+                                              vid_range_flags);
+               if (err)
+                       return err;
+       }
 
        return 0;
 }