]> Pileus Git - ~andy/linux/blobdiff - net/ax25/ax25_addr.c
Merge tag 'boards2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[~andy/linux] / net / ax25 / ax25_addr.c
index 9162409559cf3b3845f6eb27c36f7d81b9409851..e7c9b0ea17a170b19ee91cc2a9ba1c7c06eb20de 100644 (file)
@@ -189,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;