diff --git a/ChangeLog b/ChangeLog index 1dd64c9ff8..bb17b14072 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sun Feb 26 05:35:43 2012 NARUSE, Yui + + * error.c (report_bug): use buf and snprintf to avoid consuming stack. + [ruby-dev:45272] [Bug #6058] + Sat Feb 25 17:41:19 2012 Tanaka Akira * ext/dbm/extconf.rb (headers): try ambiguous headers at last. diff --git a/error.c b/error.c index c212c53b3f..bea4d50909 100644 --- a/error.c +++ b/error.c @@ -260,8 +260,11 @@ report_bug(const char *file, int line, const char *fmt, va_list args) (ssize_t)fwrite(buf, 1, len, (out = stdout)) == (ssize_t)len) { fputs("[BUG] ", out); - vfprintf(out, fmt, args); - fprintf(out, "\n%s\n\n", ruby_description); + vsnprintf(buf, 256, fmt, args); + fputs(buf, out); + snprintf(buf, 256, "\n%s\n\n", ruby_description); + fputs(buf, out); + rb_vm_bugreport();