summaryrefslogtreecommitdiffstats
path: root/ext
diff options
context:
space:
mode:
authorocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-01-30 15:13:11 +0000
committerocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-01-30 15:13:11 +0000
commitc5fc36203349070fb722d2e1e4501e34ee8ace31 (patch)
treed396a16b0b25af9f6897f39f76d28d8dc4c27a49 /ext
parent2a693ec6d058049fdab96db8997954e064c22932 (diff)
downloadruby-c5fc36203349070fb722d2e1e4501e34ee8ace31.tar.gz
ruby-c5fc36203349070fb722d2e1e4501e34ee8ace31.tar.xz
ruby-c5fc36203349070fb722d2e1e4501e34ee8ace31.zip
* ext/syck/rubyext.c (syck_resolver_transfer): workaround for SEGV.
ex: YAML.load("!map:B {}"). [ruby-core:7217] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@9865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/syck/rubyext.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/syck/rubyext.c b/ext/syck/rubyext.c
index 14dbd9cb6..078de4f78 100644
--- a/ext/syck/rubyext.c
+++ b/ext/syck/rubyext.c
@@ -1134,6 +1134,10 @@ syck_resolver_transfer( self, type, val )
type = subclass;
subclass = cYObject;
}
+ else /* workaround for SEGV. real fix please */
+ {
+ rb_raise( rb_eTypeError, "invalid subclass" );
+ }
}
break;
}