patch-2.1.116 linux/net/ax25/af_ax25.c
Next file: linux/net/core/dev.c
Previous file: linux/mm/vmscan.c
Back to the patch index
Back to the overall index
-  Lines: 12
-  Date:
Sun Aug  9 12:23:47 1998
-  Orig file: 
v2.1.115/linux/net/ax25/af_ax25.c
-  Orig date: 
Tue Jul 28 14:21:10 1998
diff -u --recursive --new-file v2.1.115/linux/net/ax25/af_ax25.c linux/net/ax25/af_ax25.c
@@ -1009,7 +1009,10 @@
 	if (sk->zapped == 0)
 		return -EINVAL;
 
-	if (addr_len != sizeof(struct sockaddr_ax25) && addr_len != sizeof(struct full_sockaddr_ax25))
+	if (addr_len < sizeof(struct sockaddr_ax25) || addr_len > sizeof(struct full_sockaddr_ax25))
+		return -EINVAL;
+
+	if (addr_len < (addr->fsa_ax25.sax25_ndigis * sizeof(ax25_address) + sizeof(struct sockaddr_ax25)))
 		return -EINVAL;
 
 	if (addr->fsa_ax25.sax25_family != AF_AX25)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov