mirror of
https://github.com/aaru-dps/libaaruformat.git
synced 2025-12-16 19:24:40 +00:00
Fix context reference for ECC and EDC computations in write.c
This commit is contained in:
@@ -808,7 +808,7 @@ int32_t aaruf_write_sector_long(void *context, uint64_t sector_address, bool neg
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const bool suffix_correct = aaruf_ecc_cd_is_suffix_correct(context, data);
|
const bool suffix_correct = aaruf_ecc_cd_is_suffix_correct(ctx->ecc_cd_context, data);
|
||||||
|
|
||||||
if(suffix_correct)
|
if(suffix_correct)
|
||||||
ctx->sector_suffix_ddt2[corrected_sector_address] = (uint64_t)SectorStatusMode1Correct << 60;
|
ctx->sector_suffix_ddt2[corrected_sector_address] = (uint64_t)SectorStatusMode1Correct << 60;
|
||||||
@@ -984,7 +984,7 @@ int32_t aaruf_write_sector_long(void *context, uint64_t sector_address, bool neg
|
|||||||
|
|
||||||
if(form2)
|
if(form2)
|
||||||
{
|
{
|
||||||
const uint32_t computed_edc = aaruf_edc_cd_compute(context, 0, data, 0x91C, 0x10);
|
const uint32_t computed_edc = aaruf_edc_cd_compute(ctx->ecc_cd_context, 0, data, 0x91C, 0x10);
|
||||||
uint32_t edc = 0;
|
uint32_t edc = 0;
|
||||||
memcpy(&edc, data + 0x92C, sizeof(edc));
|
memcpy(&edc, data + 0x92C, sizeof(edc));
|
||||||
const bool correct_edc = computed_edc == edc;
|
const bool correct_edc = computed_edc == edc;
|
||||||
@@ -1029,8 +1029,8 @@ int32_t aaruf_write_sector_long(void *context, uint64_t sector_address, bool neg
|
|||||||
2324);
|
2324);
|
||||||
}
|
}
|
||||||
|
|
||||||
const bool correct_ecc = aaruf_ecc_cd_is_suffix_correct_mode2(context, data);
|
const bool correct_ecc = aaruf_ecc_cd_is_suffix_correct_mode2(ctx->ecc_cd_context, data);
|
||||||
const uint32_t computed_edc = aaruf_edc_cd_compute(context, 0, data, 0x808, 0x10);
|
const uint32_t computed_edc = aaruf_edc_cd_compute(ctx->ecc_cd_context, 0, data, 0x808, 0x10);
|
||||||
uint32_t edc = 0;
|
uint32_t edc = 0;
|
||||||
memcpy(&edc, data + 0x818, sizeof(edc));
|
memcpy(&edc, data + 0x818, sizeof(edc));
|
||||||
const bool correct_edc = computed_edc == edc;
|
const bool correct_edc = computed_edc == edc;
|
||||||
|
|||||||
Reference in New Issue
Block a user