Skip to content

Commit 5dcd891

Browse files
petermmampcode-com
andcommitted
otp_crypto: reject zero iterations in PBKDF2
PBKDF2 with zero iterations would silently produce weak/empty output. Explicitly reject iterations == 0 with a clear error message. Amp-Thread-ID: https://ampcode.com/threads/T-019d108a-c8e4-72f4-924c-997ffe14adac Co-authored-by: Amp <amp@ampcode.com>
1 parent 782713a commit 5dcd891

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

src/libAtomVM/otp_crypto.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3534,6 +3534,11 @@ static term nif_crypto_pbkdf2_hmac(Context *ctx, int argc, term argv[])
35343534
goto cleanup;
35353535
}
35363536
uint32_t iterations = term_to_uint32(iterations_term);
3537+
if (UNLIKELY(iterations == 0)) {
3538+
result
3539+
= make_crypto_error(__FILE__, __LINE__, "Iterations must be a positive integer", ctx);
3540+
goto cleanup;
3541+
}
35373542

35383543
term key_len_term = argv[4];
35393544
if (UNLIKELY(!term_is_pos_int(key_len_term))) {

0 commit comments

Comments
 (0)