From becde297d48b3b251694960fc7b23c050adf6565 Mon Sep 17 00:00:00 2001 From: Jason Hiser <jdhiser@gmail.com> Date: Mon, 16 Sep 2019 22:22:16 -0400 Subject: [PATCH] more type-punning removal --- unpin_arm32.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/unpin_arm32.cpp b/unpin_arm32.cpp index 6705e45..fe643c4 100644 --- a/unpin_arm32.cpp +++ b/unpin_arm32.cpp @@ -73,7 +73,10 @@ void UnpinArm32_t::HandlePcrelReloc(Instruction_t* from_insn, Relocation_t* relo uint8_t insn_bytes[insn_bytes_len]; // compiler disallows init on some platforms. // but memcpy should init it sufficiently. memcpy(insn_bytes, from_insn->getDataBits().c_str(), insn_bytes_len); - const auto full_insn=*(uint32_t*)insn_bytes; + auto full_insn=(uint32_t)0; + memcpy(&full_insn,insn_bytes, sizeof(full_insn)); + + const auto mask1 = (1<<1 )-1; const auto mask4 = (1<<4 )-1; const auto mask8 = (1<<8 )-1; -- GitLab