From 87ea59c208fc792b54049caf2b6029cc79244b73 Mon Sep 17 00:00:00 2001 From: ocean Date: Fri, 16 Dec 2005 03:17:16 +0000 Subject: [PATCH] * ext/syck/rubyext.c (syck_scalar_value_set): should set newly allocated memory instead of RString's internal storage. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 2 ++ ext/syck/rubyext.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b1b9e6e76d..2258f6aaa1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,8 @@ Fri Dec 16 11:44:43 2005 Hirokazu Yamamoto * ext/syck/rubyext.c (syck_node_type_id_set): should set newly allocated memory instead of RString's internal storage. + * ext/syck/rubyext.c (syck_scalar_value_set): ditto. + ... these fixes won't fix [ruby-dev:27839]. more work is needed. Thu Dec 15 12:35:14 2005 Yukihiro Matsumoto diff --git a/ext/syck/rubyext.c b/ext/syck/rubyext.c index e45d4971f2..22cbbaf55a 100644 --- a/ext/syck/rubyext.c +++ b/ext/syck/rubyext.c @@ -1522,7 +1522,7 @@ syck_scalar_value_set( self, val ) Data_Get_Struct( self, SyckNode, node ); StringValue( val ); - node->data.str->ptr = RSTRING(val)->ptr; + node->data.str->ptr = syck_strndup( RSTRING(val)->ptr, RSTRING(val)->len ); node->data.str->len = RSTRING(val)->len; node->data.str->style = scalar_none;