net: atm: clean up a range check
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 3 May 2019 12:39:48 +0000 (15:39 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sun, 5 May 2019 17:25:52 +0000 (10:25 -0700)
The code works fine but the problem is that check for negatives is a
no-op:

if (arg < 0)
i = 0;

The "i" value isn't used.  We immediately overwrite it with:

i = array_index_nospec(arg, MAX_LEC_ITF);

The array_index_nospec() macro returns zero if "arg" is out of bounds so
this works, but the dead code is confusing and it doesn't look very
intentional.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/atm/lec.c

index ad4f829..a031149 100644 (file)
@@ -726,9 +726,7 @@ static int lecd_attach(struct atm_vcc *vcc, int arg)
        struct lec_priv *priv;
 
        if (arg < 0)
-               i = 0;
-       else
-               i = arg;
+               arg = 0;
        if (arg >= MAX_LEC_ITF)
                return -EINVAL;
        i = array_index_nospec(arg, MAX_LEC_ITF);