sctp: fix auth_hmacs field's length of struct sctp_cookie
authorWei Yongjun <yjwei@cn.fujitsu.com>
Thu, 31 Mar 2011 23:38:54 +0000 (23:38 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 2 Apr 2011 04:45:50 +0000 (21:45 -0700)
auth_hmacs field of struct sctp_cookie is used for store
Requested HMAC Algorithm Parameter, and each HMAC Identifier
is 2 bytes, so the length should be:
  SCTP_AUTH_NUM_HMACS * sizeof(__u16) + 2

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sctp/structs.h

index cc9185ca8fd13db1d64616101f2c97222fcab6fb..0f6e60a9c308a8e44c0671eb3c1134edc501e6ec 100644 (file)
@@ -422,7 +422,7 @@ struct sctp_cookie {
        __u32 adaptation_ind;
 
        __u8 auth_random[sizeof(sctp_paramhdr_t) + SCTP_AUTH_RANDOM_LENGTH];
-       __u8 auth_hmacs[SCTP_AUTH_NUM_HMACS + 2];
+       __u8 auth_hmacs[SCTP_AUTH_NUM_HMACS * sizeof(__u16) + 2];
        __u8 auth_chunks[sizeof(sctp_paramhdr_t) + SCTP_AUTH_MAX_CHUNKS];
 
        /* This is a shim for my peer's INIT packet, followed by