diff options
Diffstat (limited to 'signal.c')
-rw-r--r-- | signal.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -843,7 +843,7 @@ check_stack_overflow(int sig, const uintptr_t addr, const ucontext_t *ctx) if (sp_page == fault_page || sp_page == fault_page + 1 || sp_page <= fault_page && fault_page <= bp_page) { rb_thread_t *th = ruby_current_thread; - if ((uintptr_t)th->tag->buf / pagesize == sp_page) { + if ((uintptr_t)th->tag->buf / pagesize <= fault_page + 1) { /* drop the last tag if it is close to the fault, * otherwise it can cause stack overflow again at the same * place. */ |