* struct.c (rb_struct_s_members): check if __members__ is an

array to prevent segmentation fault.  [ruby-dev:31759]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2007-09-08 01:08:23 +00:00
parent 86ca9a6930
commit 2677f72e2e
2 changed files with 11 additions and 0 deletions

View file

@ -39,6 +39,9 @@ rb_struct_s_members(VALUE klass)
if (NIL_P(members)) {
rb_raise(rb_eTypeError, "uninitialized struct");
}
if (TYPE(members) != T_ARRAY) {
rb_raise(rb_eTypeError, "corrupted struct");
}
return members;
}