]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
[PATCH] Fix possible overflow of sock->sk_policy
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 26 Jul 2005 23:40:31 +0000 (16:40 -0700)
committerChris Wright <chrisw@osdl.org>
Fri, 5 Aug 2005 07:04:21 +0000 (00:04 -0700)
[XFRM]: Fix possible overflow of sock->sk_policy

Spotted by, and original patch by, Balazs Scheidler.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Chris Wright <chrisw@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/xfrm/xfrm_user.c

index 97509011c274c7c0f1c698acc24fed817f861a2d..aff9a80f72c8028d9f56d9e17d753e441ec36117 100644 (file)
@@ -1180,6 +1180,9 @@ static struct xfrm_policy *xfrm_compile_policy(u16 family, int opt,
        if (nr > XFRM_MAX_DEPTH)
                return NULL;
 
+       if (p->dir > XFRM_POLICY_OUT)
+               return NULL;
+
        xp = xfrm_policy_alloc(GFP_KERNEL);
        if (xp == NULL) {
                *dir = -ENOBUFS;