|
@@ -543,16 +543,20 @@ struct sctp_hmac *sctp_auth_asoc_get_hmac(const struct sctp_association *asoc)
|
|
|
id = ntohs(hmacs->hmac_ids[i]);
|
|
|
|
|
|
/* Check the id is in the supported range */
|
|
|
- if (id > SCTP_AUTH_HMAC_ID_MAX)
|
|
|
+ if (id > SCTP_AUTH_HMAC_ID_MAX) {
|
|
|
+ id = 0;
|
|
|
continue;
|
|
|
+ }
|
|
|
|
|
|
/* See is we support the id. Supported IDs have name and
|
|
|
* length fields set, so that we can allocated and use
|
|
|
* them. We can safely just check for name, for without the
|
|
|
* name, we can't allocate the TFM.
|
|
|
*/
|
|
|
- if (!sctp_hmac_list[id].hmac_name)
|
|
|
+ if (!sctp_hmac_list[id].hmac_name) {
|
|
|
+ id = 0;
|
|
|
continue;
|
|
|
+ }
|
|
|
|
|
|
break;
|
|
|
}
|