diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/syck/rubyext.c | 4 |
2 files changed, 9 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Tue Jan 31 00:08:22 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> + + * ext/syck/rubyext.c (syck_resolver_transfer): workaround for SEGV. + ex: YAML.load("!map:B {}"). [ruby-core:7217] + Sat Jan 28 07:49:30 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> * lib/rdoc/usage.rb: support "a:0:33" style caller[-1]. In this case diff --git a/ext/syck/rubyext.c b/ext/syck/rubyext.c index 14dbd9cb61..078de4f78d 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; } |