From c5e3878174c78ab301e29c7baa666468678fa4d2 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Wed, 10 Dec 2025 01:15:27 +0000 Subject: [PATCH] Fix the size of the metadata block in memory buffer. --- src/blocks/metadata.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/blocks/metadata.c b/src/blocks/metadata.c index 86cac9e..6655dbe 100644 --- a/src/blocks/metadata.c +++ b/src/blocks/metadata.c @@ -81,7 +81,7 @@ void process_metadata_block(aaruformat_context *ctx, const IndexEntry *entry) ctx->image_info.ImageSize += ctx->metadata_block_header.blockSize; - ctx->metadata_block = (uint8_t *)malloc(ctx->metadata_block_header.blockSize); + ctx->metadata_block = (uint8_t *)malloc(ctx->metadata_block_header.blockSize + sizeof(MetadataBlockHeader)); if(ctx->metadata_block == NULL) { @@ -104,6 +104,8 @@ void process_metadata_block(aaruformat_context *ctx, const IndexEntry *entry) memset(&ctx->metadata_block_header, 0, sizeof(MetadataBlockHeader)); free(ctx->metadata_block); FATAL("Could not read metadata block, continuing..."); + + return; } if(ctx->metadata_block_header.mediaSequence > 0 && ctx->metadata_block_header.lastMediaSequence > 0)