aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-12-16 03:17:16 +0000
committerocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-12-16 03:17:16 +0000
commit87ea59c208fc792b54049caf2b6029cc79244b73 (patch)
treee3bc91fbb331b6c2c1e07fbbbab626dd1e3b665c
parentf4f242b6d2ca28a6ec44510b21f1e7df906dc79c (diff)
downloadruby-87ea59c208fc792b54049caf2b6029cc79244b73.tar.gz
* 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
-rw-r--r--ChangeLog2
-rw-r--r--ext/syck/rubyext.c2
2 files changed, 3 insertions, 1 deletions
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 <ocean@m2.ccsnet.ne.jp>
* 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 <matz@ruby-lang.org>
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;