diff options
| author | Ingo Molnar <mingo@elte.hu> | 2008-09-14 11:26:53 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2008-09-14 11:26:53 -0400 |
| commit | f81b691a3df09806385ea413c3a2ee094c705ca3 (patch) | |
| tree | 01c0d6d319fcbddc98171d06cfe8e742cd270455 /net/sctp/auth.c | |
| parent | 110e0358e7dfd9cc56d47077068f3680dae10b56 (diff) | |
| parent | adee14b2e1557d0a8559f29681732d05a89dfc35 (diff) | |
Merge commit 'v2.6.27-rc6' into x86/pat
Diffstat (limited to 'net/sctp/auth.c')
| -rw-r--r-- | net/sctp/auth.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/sctp/auth.c b/net/sctp/auth.c index 675a5c3e68a6..52db5f60daa0 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) | |||
| 80 | { | 80 | { |
| 81 | struct sctp_auth_bytes *key; | 81 | struct sctp_auth_bytes *key; |
| 82 | 82 | ||
| 83 | /* Verify that we are not going to overflow INT_MAX */ | ||
| 84 | if ((INT_MAX - key_len) < sizeof(struct sctp_auth_bytes)) | ||
| 85 | return NULL; | ||
| 86 | |||
| 83 | /* Allocate the shared key */ | 87 | /* Allocate the shared key */ |
| 84 | key = kmalloc(sizeof(struct sctp_auth_bytes) + key_len, gfp); | 88 | key = kmalloc(sizeof(struct sctp_auth_bytes) + key_len, gfp); |
| 85 | if (!key) | 89 | if (!key) |
| @@ -782,6 +786,9 @@ int sctp_auth_ep_set_hmacs(struct sctp_endpoint *ep, | |||
| 782 | for (i = 0; i < hmacs->shmac_num_idents; i++) { | 786 | for (i = 0; i < hmacs->shmac_num_idents; i++) { |
| 783 | id = hmacs->shmac_idents[i]; | 787 | id = hmacs->shmac_idents[i]; |
| 784 | 788 | ||
| 789 | if (id > SCTP_AUTH_HMAC_ID_MAX) | ||
| 790 | return -EOPNOTSUPP; | ||
| 791 | |||
| 785 | if (SCTP_AUTH_HMAC_ID_SHA1 == id) | 792 | if (SCTP_AUTH_HMAC_ID_SHA1 == id) |
| 786 | has_sha1 = 1; | 793 | has_sha1 = 1; |
| 787 | 794 | ||
