Skip to content

Commit

Permalink
NET: NETROM: Cleanup argument SIOCADDRT ioctl argument checking.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Ralf Baechle authored and David S. Miller committed Nov 29, 2011
1 parent ac1a1de commit 10cae1c
Showing 1 changed file with 2 additions and 4 deletions.
6 changes: 2 additions & 4 deletions net/netrom/nr_route.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down

0 comments on commit 10cae1c

Please sign in to comment.