From 8c9c9268a588c36633b5d2891899636cee4c2ba5 Mon Sep 17 00:00:00 2001 From: shyouhei Date: Sun, 15 Jun 2008 14:15:09 +0000 Subject: merge revision(s) 16534: * parse.y (top_local_setup): fixed memory leak bug based on a patch from Roger Pack in [ruby-core:16610]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@17315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ parse.y | 3 ++- version.h | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7a810ae0ac..a1aacd5f5a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sun Jun 15 23:13:23 2008 Yukihiro Matsumoto + + * parse.y (top_local_setup): fixed memory leak bug based on a + patch from Roger Pack in + [ruby-core:16610]. + Sun Jun 15 23:09:00 2008 NAKAMURA Usaku * sprintf.c (rb_f_sprintf): fixed SEGV on win32 with "% 0e" % 1.0/0.0. diff --git a/parse.y b/parse.y index 9531ab3236..bde7c7dbfa 100644 --- a/parse.y +++ b/parse.y @@ -5737,7 +5737,7 @@ top_local_setup() rb_mem_clear(vars+i, len-i); } else { - *vars++ = (VALUE)ruby_scope; + *vars++ = 0; rb_mem_clear(vars, len); } ruby_scope->local_vars = vars; @@ -5753,6 +5753,7 @@ top_local_setup() if (!(ruby_scope->flags & SCOPE_CLONE)) xfree(ruby_scope->local_tbl); } + ruby_scope->local_vars[-1] = 0; /* no reference needed */ ruby_scope->local_tbl = local_tbl(); } } diff --git a/version.h b/version.h index 20b813985f..cc51e7b8d1 100644 --- a/version.h +++ b/version.h @@ -2,7 +2,7 @@ #define RUBY_RELEASE_DATE "2008-06-15" #define RUBY_VERSION_CODE 186 #define RUBY_RELEASE_CODE 20080615 -#define RUBY_PATCHLEVEL 212 +#define RUBY_PATCHLEVEL 213 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 -- cgit v1.2.3