diff --git a/src/internal.c b/src/internal.c index a061851669..7b2ee5c528 100644 --- a/src/internal.c +++ b/src/internal.c @@ -1000,7 +1000,9 @@ static int ExportKeyState(WOLFSSL* ssl, byte* exp, word32 len, byte ver, XMEMCPY(exp + idx, keys->aead_exp_IV, AEAD_MAX_EXP_SZ); idx += AEAD_MAX_EXP_SZ; - sz = (small)? 0: ssl->specs.iv_size; + sz = (small) ? 0 : + (ssl->specs.iv_size > AEAD_MAX_IMP_SZ ? AEAD_MAX_IMP_SZ + : ssl->specs.iv_size); if (idx + (sz * 2) + OPAQUE8_LEN > len) { WOLFSSL_MSG("Buffer not large enough for imp IVs"); return BUFFER_E;