Subject: Re: [PATCH]: Fix off-by-one in max protocol-type check

From: Patrick McHardy <[email-masked]>
Date: Mon, 31 May 2004 01:41:05 +0200

Hi Dave,

David S. Miller wrote:
>>Patrick McHardy wrote:
>>
>>>This patch fixes an off-by-one in inet_register_protosw and
>>>inet6_register_protosw. inetsw is an array of size SOCK_MAX,
>>>the check allows access to index SOCK_MAX. Patch applies
>>>to 2.4 and 2.6.
>>
>>Forgot the patch, sorry ;)
> 
> 
> Applied.
> 

Judging from 2.4.27-pre4 changelog, you forgot to apply this
patch to 2.4. Patch from 2.6 attached, it applies with some
offset.

Regards
Patrick
ChangeSet 1.1763, 2004/05/29 12:38:17-07:00, [email-masked]

	[IPV4,6]: Fix off-by-one in max protocol-type check

 ipv4/af_inet.c  |    2 +-
 ipv6/af_inet6.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff -Nru a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
--- a/net/ipv4/af_inet.c	2004-05-29 14:14:46 -07:00
+++ b/net/ipv4/af_inet.c	2004-05-29 14:14:46 -07:00
@@ -978,7 +978,7 @@
 
 	spin_lock_bh(&inetsw_lock);
 
-	if (p->type > SOCK_MAX)
+	if (p->type >= SOCK_MAX)
 		goto out_illegal;
 
 	/* If we are trying to override a permanent protocol, bail. */
diff -Nru a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
--- a/net/ipv6/af_inet6.c	2004-05-29 14:14:46 -07:00
+++ b/net/ipv6/af_inet6.c	2004-05-29 14:14:46 -07:00
@@ -572,7 +572,7 @@
 
 	spin_lock_bh(&inetsw6_lock);
 
-	if (p->type > SOCK_MAX)
+	if (p->type >= SOCK_MAX)
 		goto out_illegal;
 
 	/* If we are trying to override a permanent protocol, bail. */