diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-08 01:08:23 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-08 01:08:23 +0000 |
commit | 4e2f3bd9eb3eb3f8ac7e4feae0a5280244868cdd (patch) | |
tree | 872bba03b4294ff71641251db1fdecc00d80f9b7 /struct.c | |
parent | 7877dd5ed8353543c2667f1d8995a8c3ee135017 (diff) | |
download | ruby-4e2f3bd9eb3eb3f8ac7e4feae0a5280244868cdd.tar.gz ruby-4e2f3bd9eb3eb3f8ac7e4feae0a5280244868cdd.tar.xz ruby-4e2f3bd9eb3eb3f8ac7e4feae0a5280244868cdd.zip |
* struct.c (rb_struct_s_members): check if __members__ is an
array to prevent segmentation fault. [ruby-dev:31759]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'struct.c')
-rw-r--r-- | struct.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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; } |