diff options
Diffstat (limited to 'net/ax25/ax25_addr.c')
| -rw-r--r-- | net/ax25/ax25_addr.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ax25/ax25_addr.c b/net/ax25/ax25_addr.c index 419e7188d5a..e7c9b0ea17a 100644 --- a/net/ax25/ax25_addr.c +++ b/net/ax25/ax25_addr.c @@ -12,7 +12,6 @@ #include <linux/in.h> #include <linux/kernel.h> #include <linux/module.h> -#include <linux/sched.h> #include <linux/timer.h> #include <linux/string.h> #include <linux/sockios.h> @@ -23,7 +22,6 @@ #include <linux/skbuff.h> #include <net/sock.h> #include <asm/uaccess.h> -#include <asm/system.h> #include <linux/fcntl.h> #include <linux/mm.h> #include <linux/interrupt.h> @@ -191,8 +189,10 @@ const unsigned char *ax25_addr_parse(const unsigned char *buf, int len, digi->ndigi = 0; while (!(buf[-1] & AX25_EBIT)) { - if (d >= AX25_MAX_DIGIS) return NULL; /* Max of 6 digis */ - if (len < 7) return NULL; /* Short packet */ + if (d >= AX25_MAX_DIGIS) + return NULL; + if (len < AX25_ADDR_LEN) + return NULL; memcpy(&digi->calls[d], buf, AX25_ADDR_LEN); digi->ndigi = d + 1; |
