summaryrefslogtreecommitdiffstats
path: root/ext/syck/implicit.c
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
commitd0d89f93c70cff3dec1d7d25453ab9b8756db4da (patch)
tree33074b7b12d6faa6919e026d956f5cfc2c7df1fe /ext/syck/implicit.c
parent566c31790b49af34d64ad3f896e46a583bf960ad (diff)
downloadruby-d0d89f93c70cff3dec1d7d25453ab9b8756db4da.tar.gz
ruby-d0d89f93c70cff3dec1d7d25453ab9b8756db4da.tar.xz
ruby-d0d89f93c70cff3dec1d7d25453ab9b8756db4da.zip
* 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: http://svn.ruby-lang.org/repos/ruby/trunk@9469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/syck/implicit.c')
-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 d8016986b..d356faf7d 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){