aboutsummaryrefslogtreecommitdiff
path: root/net/sctp/auth.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-08-25 17:48:07 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-08-25 17:48:07 -0700
commitb8e6c91c74e9f0279b7c51048779b3d62da60b88 (patch)
tree3bce45825a2700e1cbc75f488728ec02801bb3d3 /net/sctp/auth.c
parente5778ec91e823b97262f045814d34d0abde689c0 (diff)
parentc2d42545774c4bba7232521d836d0793330e3a4e (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: bnx2x: Version update bnx2x: Multi Queue bnx2x: NAPI and interrupts enable/disable bnx2x: NIC load failure cleanup bnx2x: Initialization structure bnx2x: HW lock timeout bnx2x: Minimize lock time bnx2x: Fan failure mechanism on additional design bnx2x: Rx work check ipv6: sysctl fixes ipv4: sysctl fixes sctp: add verification checks to SCTP_AUTH_KEY option
Diffstat (limited to 'net/sctp/auth.c')
-rw-r--r--net/sctp/auth.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/sctp/auth.c b/net/sctp/auth.c
index 675a5c3e68a..1fcb4cf2f4c 100644
--- a/net/sctp/auth.c
+++ b/net/sctp/auth.c
@@ -80,6 +80,10 @@ static struct sctp_auth_bytes *sctp_auth_create_key(__u32 key_len, gfp_t gfp)
{
struct sctp_auth_bytes *key;
+ /* Verify that we are not going to overflow INT_MAX */
+ if ((INT_MAX - key_len) < sizeof(struct sctp_auth_bytes))
+ return NULL;
+
/* Allocate the shared key */
key = kmalloc(sizeof(struct sctp_auth_bytes) + key_len, gfp);
if (!key)