diff --git a/CanUds.c b/CanUds.c index d39d64b..bc00f73 100644 --- a/CanUds.c +++ b/CanUds.c @@ -1118,7 +1118,7 @@ vUDS_routine_Check_Programming_Dependancies(tCanUds *env, eUdsRoutineControlType crc32_calc = UdsCrc32Finalize(crc32_calc); memcpy(&env->data->data[1024], (uint8_t *) ADR_HEX_Mapped_BlockMeta, SIZE_HEX_BlockMeta); - uint32_t *crcFromFlash = (uint32_t *) (SIZE_HEX_BlockMeta - 4); + uint32_t *crcFromFlash = (uint32_t *)&env->data->data[1024 + SIZE_HEX_BlockMeta - 4]; *crcFromFlash = crc32_calc; result = env->clear_flash_func(ADR_HEX_Mapped_BlockMeta, SIZE_HEX_BlockMeta);