Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next
[cascardo/linux.git] / net / sctp / auth.c
index 8c4fa5d..46b5977 100644 (file)
@@ -539,18 +539,14 @@ struct sctp_hmac *sctp_auth_asoc_get_hmac(const struct sctp_association *asoc)
        for (i = 0; i < n_elt; i++) {
                id = ntohs(hmacs->hmac_ids[i]);
 
-               /* Check the id is in the supported range */
-               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
+               /* Check the id is in the supported range. And
+                * see if we support the id.  Supported IDs have name and
+                * length fields set, so that we can allocate 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 (id > SCTP_AUTH_HMAC_ID_MAX ||
+                   !sctp_hmac_list[id].hmac_name) {
                        id = 0;
                        continue;
                }