Fixed UB in ARM64 JIT compiler

Fixed unaligned memory writes
This commit is contained in:
SChernykh
2023-10-20 09:24:50 +02:00
parent d3c96482ee
commit 8f91d31b8b
2 changed files with 3 additions and 2 deletions
+2 -1
View File
@@ -709,7 +709,8 @@ void JitCompilerA64::h_IMUL_RCP(Instruction& instr, uint32_t& codePos)
const uint32_t literal_id = (ImulRcpLiteralsEnd - literalPos) / sizeof(uint64_t);
literalPos -= sizeof(uint64_t);
*(uint64_t*)(code + literalPos) = (q << shift) + ((r << shift) / divisor);
const uint64_t randomx_reciprocal = (q << shift) + ((r << shift) / divisor);
memcpy(code + literalPos, &randomx_reciprocal, sizeof(randomx_reciprocal));
if (literal_id < 12)
{