From 55b262b61f61abd43ecdba91d9035273402f2c24 Mon Sep 17 00:00:00 2001 From: Davide Bettio Date: Sun, 19 Nov 2023 00:03:38 +0100 Subject: [PATCH] otp_crypto: make sure ensure heap size includes binary header Use term_binary_heap_size for exact size calculation before ensuring memory. Signed-off-by: Davide Bettio --- src/libAtomVM/otp_crypto.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libAtomVM/otp_crypto.c b/src/libAtomVM/otp_crypto.c index 929a044ca..8a1a3ae37 100644 --- a/src/libAtomVM/otp_crypto.c +++ b/src/libAtomVM/otp_crypto.c @@ -532,7 +532,8 @@ static term nif_crypto_crypto_one_time(Context *ctx, int argc, term argv[]) free(allocated_iv_data); free(allocated_data_data); - if (UNLIKELY(memory_ensure_free(ctx, temp_buf_size) != MEMORY_GC_OK)) { + int ensure_size = term_binary_heap_size(temp_buf_size); + if (UNLIKELY(memory_ensure_free(ctx, ensure_size) != MEMORY_GC_OK)) { free(temp_buf); RAISE_ERROR(OUT_OF_MEMORY_ATOM); }