about summary refs log tree commit diff stats
path: root/src/include
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-11-15 10:17:12 +0100
committerptitSeb <sebastien.chev@gmail.com>2023-11-15 10:17:12 +0100
commit90e2f04c34e0fb4233683a41fc2b337d1e53bbea (patch)
treedb343f46a02d4b3911f82496aa79d34ad52fb700 /src/include
parent9896b02bd6bbaa09d30de32723645409353bbdfd (diff)
downloadbox64-90e2f04c34e0fb4233683a41fc2b337d1e53bbea.tar.gz
box64-90e2f04c34e0fb4233683a41fc2b337d1e53bbea.zip
Workaround to handle SIGMAX properly (should help #1056)
Diffstat (limited to 'src/include')
-rw-r--r--src/include/box64context.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/include/box64context.h b/src/include/box64context.h
index 0a8f6532..96442038 100644
--- a/src/include/box64context.h
+++ b/src/include/box64context.h
@@ -198,10 +198,10 @@ typedef struct box64context_s {
 
     uint8_t             canary[8];
 
-    uintptr_t           signals[MAX_SIGNAL];
-    uintptr_t           restorer[MAX_SIGNAL];
-    int                 onstack[MAX_SIGNAL];
-    int                 is_sigaction[MAX_SIGNAL];
+    uintptr_t           signals[MAX_SIGNAL+1];  // signal should be 1..MAX_SIGNAL (no 0), but that's too much change...
+    uintptr_t           restorer[MAX_SIGNAL+1];
+    int                 onstack[MAX_SIGNAL+1];
+    int                 is_sigaction[MAX_SIGNAL+1];
     x64emu_t            *emu_sig;       // the emu with stack used for signal handling (must be separated from main ones)
     int                 no_sigsegv;
     int                 no_sigill;