summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-01-11 03:00:23 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-01-11 03:00:23 +0000
commit2bcff78b424a637cf2a057ac901da34fc298094a (patch)
tree787697a436fe97bbf705c0fe50d04f8858d40bfa
parent2b131e1eb6d915f077f6b258a1f9ea4ef8bae98f (diff)
* string.c (dispose_string): use rb_str_free for freeing string in
parse.y. by Sokolov Yura <funny.falcon@gmail.com> https://github.com/ruby/ruby/pull/87 fix GH-87 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--parse.y4
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index db2982d..08dc160 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Fri Jan 11 11:59:32 2013 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * string.c (dispose_string): use rb_str_free for freeing string in
+ parse.y. by Sokolov Yura <funny.falcon@gmail.com>
+ https://github.com/ruby/ruby/pull/87 fix GH-87
+
Fri Jan 11 09:56:22 2013 Shugo Maeda <shugo@ruby-lang.org>
* insns.def (defineclass): private constants should not be accessed
diff --git a/parse.y b/parse.y
index 8a541a8..cb42db7 100644
--- a/parse.y
+++ b/parse.y
@@ -5948,9 +5948,7 @@ parser_regx_options(struct parser_params *parser)
static void
dispose_string(VALUE str)
{
- /* TODO: should use another API? */
- if (RBASIC(str)->flags & RSTRING_NOEMBED)
- xfree(RSTRING_PTR(str));
+ rb_str_free(str);
rb_gc_force_recycle(str);
}