diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2011-11-25 00:09:00 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-11-29 06:23:13 +0100 |
commit | 10cae1c8dfbbdee55bdfcb7034f4c2c1197dc0a4 (patch) | |
tree | b46d5e41cbc3e8852d9239153f82d268865fe14c /net/netrom | |
parent | NET: NETROM: When adding a route verify length of mnemonic string. (diff) | |
download | linux-10cae1c8dfbbdee55bdfcb7034f4c2c1197dc0a4.tar.xz linux-10cae1c8dfbbdee55bdfcb7034f4c2c1197dc0a4.zip |
NET: NETROM: Cleanup argument SIOCADDRT ioctl argument checking.
nr_route.ndigis is unsigned int so the nr_route.ndigis < 0 expression is
never true and can be dropped. Doing the nr_ax25_dev_get call later
allows the nr_route.ndigis test to bail out without having to dev_put.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Cc: Thomas Osterried <thomas@osterried.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netrom')
-rw-r--r-- | net/netrom/nr_route.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/netrom/nr_route.c b/net/netrom/nr_route.c index 8d7716ca5342..2cf330162d7e 100644 --- a/net/netrom/nr_route.c +++ b/net/netrom/nr_route.c @@ -670,12 +670,10 @@ int nr_rt_ioctl(unsigned int cmd, void __user *arg) case SIOCADDRT: if (copy_from_user(&nr_route, arg, sizeof(struct nr_route_struct))) return -EFAULT; - if ((dev = nr_ax25_dev_get(nr_route.device)) == NULL) + if (nr_route.ndigis > AX25_MAX_DIGIS) return -EINVAL; - if (nr_route.ndigis < 0 || nr_route.ndigis > AX25_MAX_DIGIS) { - dev_put(dev); + if ((dev = nr_ax25_dev_get(nr_route.device)) == NULL) return -EINVAL; - } switch (nr_route.type) { case NETROM_NODE: if (strnlen(nr_route.mnemonic, 7) == 7) { |