From 7f569247d511e397e72b369de2315385c879e5d1 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Wed, 16 Apr 2025 14:51:50 +0200 Subject: Motsly commetic change in internal SIGILL handling --- src/libtools/signals.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/libtools') diff --git a/src/libtools/signals.c b/src/libtools/signals.c index b924a32f..cabcd5f4 100644 --- a/src/libtools/signals.c +++ b/src/libtools/signals.c @@ -1621,10 +1621,12 @@ void my_box64signalhandler(int32_t sig, siginfo_t* info, void * ucntx) } #ifdef ARCH_NOP if(sig==SIGILL) { - db = FindDynablockFromNativeAddress(pc); - if(db) - x64pc = getX64Address(db, (uintptr_t)pc); // this will be incorect in the case of the callret! - db_searched = 1; + if(!db_searched) { + db = FindDynablockFromNativeAddress(pc); + if(db) + x64pc = getX64Address(db, (uintptr_t)pc); // this will be incorect in the case of the callret! + db_searched = 1; + } if(db && db->callret_size) { int is_callrets = 0; int type_callret = 0; -- cgit 1.4.1