summaryrefslogtreecommitdiff
path: root/marshal.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-24 13:29:07 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-24 13:29:07 +0000
commit7c2cfe5784c44c13bc628fd00306fba9598dfd6a (patch)
treef09e4eabb59b886a65f76a165970f229fe2412c7 /marshal.c
parentf513d9ab286be1638dbf5f3cee6b6b9d606ba250 (diff)
* marshal.c (marshal_load): should initialize arg.data used for
reentrant check. [ruby-dev:34837] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'marshal.c')
-rw-r--r--marshal.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/marshal.c b/marshal.c
index 9dd83966a7..298f78ad86 100644
--- a/marshal.c
+++ b/marshal.c
@@ -89,7 +89,7 @@ reentrant_check(obj, sym)
VALUE obj;
ID sym;
{
- if (RBASIC(obj)->klass) {
+ if (obj && RBASIC(obj)->klass) {
rb_raise(rb_eRuntimeError, "%s reentered", rb_id2name(sym));
}
}
@@ -1431,6 +1431,7 @@ marshal_load(argc, argv)
}
arg.src = port;
arg.offset = 0;
+ arg.data = 0;
major = r_byte(&arg);
minor = r_byte(&arg);