From b7a0038505f797777969c248ed027b1481269cd8 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 16 Oct 2014 14:17:34 +0000 Subject: signal.c: get rid of heap corruption * signal.c (rb_sigaltstack_size): double default size to get rid of heap corruption by alternate stack overflow in SEGV handler. typically happened at fprintf() in control_frame_dump(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ signal.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 15e9e1c7b5..752db52770 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu Oct 16 23:17:40 2014 Nobuyoshi Nakada + + * signal.c (rb_sigaltstack_size): double default size to get rid + of heap corruption by alternate stack overflow in SEGV handler. + typically happened at fprintf() in control_frame_dump(). + Thu Oct 16 22:43:12 2014 Tanaka Akira * vm_backtrace.c (id2str): Fix a variable name. diff --git a/signal.c b/signal.c index fd7ee1bc51..63c79ffcbd 100644 --- a/signal.c +++ b/signal.c @@ -535,7 +535,7 @@ int rb_sigaltstack_size(void) { /* XXX: BSD_vfprintf() uses >1500KiB stack and x86-64 need >5KiB stack. */ - int size = 8192; + int size = 16*1024; #ifdef MINSIGSTKSZ if (size < MINSIGSTKSZ) -- cgit v1.2.3