From ab7012312f8e6ebf8762b420171cc49d112060d3 Mon Sep 17 00:00:00 2001
From: Jason Hiser <jdhiser@gmail.com>
Date: Mon, 6 May 2019 14:32:08 -0400
Subject: [PATCH] arm32 basically working

---
 src/pinner_arm32.cpp | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/pinner_arm32.cpp b/src/pinner_arm32.cpp
index 806b0b584..ad21230c9 100644
--- a/src/pinner_arm32.cpp
+++ b/src/pinner_arm32.cpp
@@ -46,9 +46,14 @@ void  ZiprPinnerARM32_t::doPinning()
                 uint8_t bytes[]={'\x00','\x00','\x00',uint8_t('\xea')};
 		for(auto i=0U;i<sizeof(bytes);i++)
 		{
-			assert(memory_space.find(ibta_addr+i) == memory_space.end() );
-			memory_space[ibta_addr+i]=bytes[i];
-			memory_space.splitFreeRange(ibta_addr+i);
+			const auto ibta_byte_addr = ibta_addr+i;
+			if(memory_space.find(ibta_byte_addr) != memory_space.end() )
+			{
+				cout << "Byte is marked as both code and data at: " << hex << ibta_byte_addr << endl;
+				exit(10);
+			}
+			memory_space[ibta_byte_addr]=bytes[i];
+			memory_space.splitFreeRange(ibta_byte_addr);
 		}
 		// insert a patch to patch the branch later.
 		const auto patch=Patch_t(ibta_addr, UnresolvedType_t::UncondJump_rel26);
-- 
GitLab