]> rtime.felk.cvut.cz Git - lisovros/linux_canprio.git/blobdiff - net/sctp/auth.c
sctp: fix random memory dereference with SCTP_HMAC_IDENT option.
[lisovros/linux_canprio.git] / net / sctp / auth.c
index 1fcb4cf2f4c9bb67a3433bd6182fcaf7b1dd4884..52db5f60daa03ef6f23f9c647129b7dda39e97a8 100644 (file)
@@ -786,6 +786,9 @@ int sctp_auth_ep_set_hmacs(struct sctp_endpoint *ep,
        for (i = 0; i < hmacs->shmac_num_idents; i++) {
                id = hmacs->shmac_idents[i];
 
+               if (id > SCTP_AUTH_HMAC_ID_MAX)
+                       return -EOPNOTSUPP;
+
                if (SCTP_AUTH_HMAC_ID_SHA1 == id)
                        has_sha1 = 1;