summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-15 14:15:09 (GMT)
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-15 14:15:09 (GMT)
commit8c9c9268a588c36633b5d2891899636cee4c2ba5 (patch)
tree15964e17c1297efd1f44e10937a5c5d37d7574d3
parent282a3cfb1cfb42b93c4bb5fe8b7392b9f8d8191e (diff)
merge revision(s) 16534:
* parse.y (top_local_setup): fixed memory leak bug based on a patch from Roger Pack <rogerpack2005 at gmail.com> 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
-rw-r--r--ChangeLog6
-rw-r--r--parse.y3
-rw-r--r--version.h2
3 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 7a810ae..a1aacd5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sun Jun 15 23:13:23 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * parse.y (top_local_setup): fixed memory leak bug based on a
+ patch from Roger Pack <rogerpack2005 at gmail.com> in
+ [ruby-core:16610].
+
Sun Jun 15 23:09:00 2008 NAKAMURA Usaku <usa@ruby-lang.org>
* sprintf.c (rb_f_sprintf): fixed SEGV on win32 with "% 0e" % 1.0/0.0.
diff --git a/parse.y b/parse.y
index 9531ab3..bde7c7d 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 20b8139..cc51e7b 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