net: bridge: Fix uninitialized error in br_fdb_sync_static()
authorGeert Uytterhoeven <geert@linux-m68k.org>
Thu, 1 Feb 2018 10:25:27 +0000 (11:25 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 1 Feb 2018 14:47:37 +0000 (09:47 -0500)
With gcc-4.1.2.:

    net/bridge/br_fdb.c: In function ‘br_fdb_sync_static’:
    net/bridge/br_fdb.c:996: warning: ‘err’ may be used uninitialized in this function

Indeed, if the list is empty, err will be uninitialized, and will be
propagated up as the function return value.

Fix this by preinitializing err to zero.

Fixes: eb7935830d00b9e0 ("net: bridge: use rhashtable for fdbs")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_fdb.c

index dc87fbc..d9e69e4 100644 (file)
@@ -993,7 +993,7 @@ int br_fdb_delete(struct ndmsg *ndm, struct nlattr *tb[],
 int br_fdb_sync_static(struct net_bridge *br, struct net_bridge_port *p)
 {
        struct net_bridge_fdb_entry *f, *tmp;
-       int err;
+       int err = 0;
 
        ASSERT_RTNL();