aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp
diff options
context:
space:
mode:
Diffstat (limited to 'net/sctp')
-rw-r--r--net/sctp/auth.c6
-rw-r--r--net/sctp/sm_statefuns.c4
2 files changed, 7 insertions, 3 deletions
diff --git a/net/sctp/auth.c b/net/sctp/auth.c
index 97e6ebd14500..ae367c82e512 100644
--- a/net/sctp/auth.c
+++ b/net/sctp/auth.c
@@ -420,15 +420,15 @@ struct sctp_shared_key *sctp_auth_get_shkey(
420 const struct sctp_association *asoc, 420 const struct sctp_association *asoc,
421 __u16 key_id) 421 __u16 key_id)
422{ 422{
423 struct sctp_shared_key *key = NULL; 423 struct sctp_shared_key *key;
424 424
425 /* First search associations set of endpoint pair shared keys */ 425 /* First search associations set of endpoint pair shared keys */
426 key_for_each(key, &asoc->endpoint_shared_keys) { 426 key_for_each(key, &asoc->endpoint_shared_keys) {
427 if (key->key_id == key_id) 427 if (key->key_id == key_id)
428 break; 428 return key;
429 } 429 }
430 430
431 return key; 431 return NULL;
432} 432}
433 433
434/* 434/*
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c
index 5df0c4bd415b..f98658782d4f 100644
--- a/net/sctp/sm_statefuns.c
+++ b/net/sctp/sm_statefuns.c
@@ -3865,6 +3865,10 @@ sctp_disposition_t sctp_sf_eat_auth(const struct sctp_endpoint *ep,
3865 struct sctp_chunk *err_chunk; 3865 struct sctp_chunk *err_chunk;
3866 sctp_ierror_t error; 3866 sctp_ierror_t error;
3867 3867
3868 /* Make sure that the peer has AUTH capable */
3869 if (!asoc->peer.auth_capable)
3870 return sctp_sf_unk_chunk(ep, asoc, type, arg, commands);
3871
3868 if (!sctp_vtag_verify(chunk, asoc)) { 3872 if (!sctp_vtag_verify(chunk, asoc)) {
3869 sctp_add_cmd_sf(commands, SCTP_CMD_REPORT_BAD_TAG, 3873 sctp_add_cmd_sf(commands, SCTP_CMD_REPORT_BAD_TAG,
3870 SCTP_NULL()); 3874 SCTP_NULL());