diff options
Diffstat (limited to 'net/sctp/auth.c')
| -rw-r--r-- | net/sctp/auth.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/sctp/auth.c b/net/sctp/auth.c index 86366390038a..ddbbf7c81fa1 100644 --- a/net/sctp/auth.c +++ b/net/sctp/auth.c | |||
| @@ -543,16 +543,20 @@ struct sctp_hmac *sctp_auth_asoc_get_hmac(const struct sctp_association *asoc) | |||
| 543 | id = ntohs(hmacs->hmac_ids[i]); | 543 | id = ntohs(hmacs->hmac_ids[i]); |
| 544 | 544 | ||
| 545 | /* Check the id is in the supported range */ | 545 | /* Check the id is in the supported range */ |
| 546 | if (id > SCTP_AUTH_HMAC_ID_MAX) | 546 | if (id > SCTP_AUTH_HMAC_ID_MAX) { |
| 547 | id = 0; | ||
| 547 | continue; | 548 | continue; |
| 549 | } | ||
| 548 | 550 | ||
| 549 | /* See is we support the id. Supported IDs have name and | 551 | /* See is we support the id. Supported IDs have name and |
| 550 | * length fields set, so that we can allocated and use | 552 | * length fields set, so that we can allocated and use |
| 551 | * them. We can safely just check for name, for without the | 553 | * them. We can safely just check for name, for without the |
| 552 | * name, we can't allocate the TFM. | 554 | * name, we can't allocate the TFM. |
| 553 | */ | 555 | */ |
| 554 | if (!sctp_hmac_list[id].hmac_name) | 556 | if (!sctp_hmac_list[id].hmac_name) { |
| 557 | id = 0; | ||
| 555 | continue; | 558 | continue; |
| 559 | } | ||
| 556 | 560 | ||
| 557 | break; | 561 | break; |
| 558 | } | 562 | } |
