mirror of
https://github.com/aaru-dps/libaaruformat.git
synced 2025-12-16 19:24:40 +00:00
Fix reversed math calculation when decoding DDT v2.
This commit is contained in:
@@ -428,8 +428,8 @@ int32_t decode_ddt_entry_v2(aaruformatContext *ctx, uint64_t sectorAddress, uint
|
|||||||
}
|
}
|
||||||
|
|
||||||
const uint64_t offsetMask = (uint64_t)((1 << ctx->userDataDdtHeader.dataShift) - 1);
|
const uint64_t offsetMask = (uint64_t)((1 << ctx->userDataDdtHeader.dataShift) - 1);
|
||||||
*offset = (ddtEntry & offsetMask) * (1 << ctx->userDataDdtHeader.blockAlignmentShift);
|
*offset = ddtEntry & offsetMask;
|
||||||
*blockOffset = ddtEntry >> ctx->userDataDdtHeader.dataShift;
|
*blockOffset = (ddtEntry >> ctx->userDataDdtHeader.dataShift) * (1 << ctx->userDataDdtHeader.blockAlignmentShift);
|
||||||
|
|
||||||
return AARUF_STATUS_OK;
|
return AARUF_STATUS_OK;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user