tipc: uninitialized return code in tipc_setsockopt()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 24 Jan 2017 09:49:35 +0000 (12:49 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 25 Jan 2017 17:41:34 +0000 (12:41 -0500)
We shuffled some code around and added some new case statements here and
now "res" isn't initialized on all paths.

Fixes: 01fd12bb189a ("tipc: make replicast a user selectable option")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/socket.c

index 5bec8aac50089c3593aae786ad24c7e2b7f3fc27..103d1fd058c0b5c86c0a587bcc08f1ab7b2fa0aa 100644 (file)
@@ -2348,7 +2348,7 @@ static int tipc_setsockopt(struct socket *sock, int lvl, int opt,
        struct sock *sk = sock->sk;
        struct tipc_sock *tsk = tipc_sk(sk);
        u32 value = 0;
-       int res;
+       int res = 0;
 
        if ((lvl == IPPROTO_TCP) && (sock->type == SOCK_STREAM))
                return 0;
@@ -2388,7 +2388,6 @@ static int tipc_setsockopt(struct socket *sock, int lvl, int opt,
                break;
        case TIPC_CONN_TIMEOUT:
                tipc_sk(sk)->conn_timeout = value;
-               /* no need to set "res", since already 0 at this point */
                break;
        case TIPC_MCAST_BROADCAST:
                tsk->mc_method.rcast = false;