summaryrefslogtreecommitdiff
path: root/ext/syck
diff options
context:
space:
mode:
authorocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-10-26 00:28:39 +0000
committerocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-10-26 00:28:39 +0000
commit2d8424a3cd04b9b7a106ec20b1bbc228b528a7f8 (patch)
tree1b6c1d4498eeef06b4d315c4a95818c3fe3999dd /ext/syck
parent4ce57dd4bcdc2218658b7104a91969a0f3380474 (diff)
* ext/syck/implicit.c (syck_type_id_to_uri): should return
newly allocated memory. otherwise, type_id will be freed twice. [ruby-dev:27384] [ruby-core:6385] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/syck')
-rw-r--r--ext/syck/implicit.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/syck/implicit.c b/ext/syck/implicit.c
index d8016986b4..d356faf7d9 100644
--- a/ext/syck/implicit.c
+++ b/ext/syck/implicit.c
@@ -2481,7 +2481,7 @@ yy244: ++YYCURSOR;
goto yy245;
yy245:
#line 174 "implicit.re"
-{ return type_id; }
+{ return syck_strndup( type_id, strlen( type_id ) ); }
#line 2485 "<stdout>"
yy246: yych = *++YYCURSOR;
switch(yych){
@@ -2928,7 +2928,7 @@ yy264: ++YYCURSOR;
goto yy265;
yy265:
#line 172 "implicit.re"
-{ return type_id; }
+{ return syck_strndup( type_id, strlen( type_id ) ); }
#line 2932 "<stdout>"
yy266: yych = *++YYCURSOR;
switch(yych){