The 0..3 value decoded from the password was not incremented to the
actual 2..5 range for Sec. This resulted in not properly detecting the
minimum password length.
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
idx = os_strchr(sae_pk_base32_table, pw[0]);
if (!idx)
return false;
- sec = ((u8) ((idx - sae_pk_base32_table) & 0x1f)) >> 3;
+ sec = (((u8) ((idx - sae_pk_base32_table) & 0x1f)) >> 3) + 2;
if ((sec == 2 && pw_len < 14) ||
(sec == 3 && pw_len < 13) ||
(sec == 4 && pw_len < 11) ||