Skip to content

Commit

Permalink
sctp: correct bounds check in sctp_setsockopt_auth_key
Browse files Browse the repository at this point in the history
The bonds check to prevent buffer overlflow was not exactly
right.  It still allowed overflow of up to 8 bytes which is
sizeof(struct sctp_authkey).

Since optlen is already checked against the size of that struct,
we are guaranteed not to cause interger overflow either.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Vlad Yasevich authored and David S. Miller committed Aug 27, 2008
1 parent f2455eb commit 328fc47
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion net/sctp/socket.c
Original file line number Diff line number Diff line change
Expand Up @@ -3144,7 +3144,7 @@ static int sctp_setsockopt_auth_key(struct sock *sk,
goto out;
}

if (authkey->sca_keylength > optlen) {
if (authkey->sca_keylength > optlen - sizeof(struct sctp_authkey)) {
ret = -EINVAL;
goto out;
}
Expand Down

0 comments on commit 328fc47

Please sign in to comment.