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;
                }