diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2008-10-03 06:52:33 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-10-03 06:52:33 -0400 |
commit | 56f68556d7bbb51dd158c74deb09c783345bfbbd (patch) | |
tree | 536e6e3c7063b1eee927194dda257602bd3dc66f /net/sctp/socket.c | |
parent | fd9470ce3ac6fb54d6026e4b1cdab0936e34805e (diff) | |
parent | 7c8ad9828e793573877fd60868bb5d2f1e3b64da (diff) |
Merge unstable branch 'omap-rmk'
Merge branch 'omap-rmk' into omap-all
Diffstat (limited to 'net/sctp/socket.c')
-rw-r--r-- | net/sctp/socket.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/net/sctp/socket.c b/net/sctp/socket.c index afa952e726d7..5ffb9dec1c3f 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c | |||
@@ -3086,6 +3086,7 @@ static int sctp_setsockopt_hmac_ident(struct sock *sk, | |||
3086 | int optlen) | 3086 | int optlen) |
3087 | { | 3087 | { |
3088 | struct sctp_hmacalgo *hmacs; | 3088 | struct sctp_hmacalgo *hmacs; |
3089 | u32 idents; | ||
3089 | int err; | 3090 | int err; |
3090 | 3091 | ||
3091 | if (!sctp_auth_enable) | 3092 | if (!sctp_auth_enable) |
@@ -3103,8 +3104,9 @@ static int sctp_setsockopt_hmac_ident(struct sock *sk, | |||
3103 | goto out; | 3104 | goto out; |
3104 | } | 3105 | } |
3105 | 3106 | ||
3106 | if (hmacs->shmac_num_idents == 0 || | 3107 | idents = hmacs->shmac_num_idents; |
3107 | hmacs->shmac_num_idents > SCTP_AUTH_NUM_HMACS) { | 3108 | if (idents == 0 || idents > SCTP_AUTH_NUM_HMACS || |
3109 | (idents * sizeof(u16)) > (optlen - sizeof(struct sctp_hmacalgo))) { | ||
3108 | err = -EINVAL; | 3110 | err = -EINVAL; |
3109 | goto out; | 3111 | goto out; |
3110 | } | 3112 | } |
@@ -3144,7 +3146,7 @@ static int sctp_setsockopt_auth_key(struct sock *sk, | |||
3144 | goto out; | 3146 | goto out; |
3145 | } | 3147 | } |
3146 | 3148 | ||
3147 | if (authkey->sca_keylength > optlen) { | 3149 | if (authkey->sca_keylength > optlen - sizeof(struct sctp_authkey)) { |
3148 | ret = -EINVAL; | 3150 | ret = -EINVAL; |
3149 | goto out; | 3151 | goto out; |
3150 | } | 3152 | } |