diff options
author | ocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-01-30 15:13:11 +0000 |
---|---|---|
committer | ocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-01-30 15:13:11 +0000 |
commit | 698a907a44752e874254fb176fed023fe2c12210 (patch) | |
tree | 15485f6f1b3e29d41d7f75ab1718bc586df3914f /ext | |
parent | 5641b3a715235cadcfcb9c1c31447a7d4a9693ae (diff) | |
download | ruby-698a907a44752e874254fb176fed023fe2c12210.tar.gz ruby-698a907a44752e874254fb176fed023fe2c12210.tar.xz ruby-698a907a44752e874254fb176fed023fe2c12210.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/trunk@9865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/syck/rubyext.c | 4 |
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; } |