Fixed metadata block not being read correctly.

This commit is contained in:
2025-12-10 00:31:37 +00:00
parent 5bf7981133
commit 12418518c2

View File

@@ -92,11 +92,14 @@ void process_metadata_block(aaruformat_context *ctx, const IndexEntry *entry)
return; return;
} }
TRACE("Reading metadata block of size %u at position %" PRIu64, ctx->metadata_block_header.blockSize, TRACE("Reading metadata block of size %u at position %" PRIu64,
entry->offset + sizeof(MetadataBlockHeader)); ctx->metadata_block_header.blockSize + sizeof(MetadataBlockHeader), entry->offset);
read_bytes = fread(ctx->metadata_block, 1, ctx->metadata_block_header.blockSize, ctx->imageStream);
if(read_bytes != ctx->metadata_block_header.blockSize) fseek(ctx->imageStream, entry->offset, SEEK_SET);
read_bytes = fread(ctx->metadata_block, 1, ctx->metadata_block_header.blockSize + sizeof(MetadataBlockHeader),
ctx->imageStream);
if(read_bytes != ctx->metadata_block_header.blockSize + sizeof(MetadataBlockHeader))
{ {
memset(&ctx->metadata_block_header, 0, sizeof(MetadataBlockHeader)); memset(&ctx->metadata_block_header, 0, sizeof(MetadataBlockHeader));
free(ctx->metadata_block); free(ctx->metadata_block);