summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-15 14:17:57 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-15 14:17:57 +0000
commit0b5177fcdcfc1a4e463eb5bd258b9c32ba35eaa9 (patch)
tree95ee582e0b78208e9347ff031545f5e0695a3278
parent012e50dd87bf27dc7d9a6f42ded0ca91fa68ab16 (diff)
merge revision(s) 16569:
* 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_5@17321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--marshal.c3
-rw-r--r--version.h2
3 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 524cfd72c8..3970dbe2d7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Jun 15 23:17:34 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * marshal.c (marshal_load): should initialize arg.data used for
+ reentrant check. [ruby-dev:34837]
+
Sun Jun 15 23:12:02 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* parse.y (top_local_setup): fixed memory leak bug based on a
diff --git a/marshal.c b/marshal.c
index f8cbaa510d..ae1bb6030b 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));
}
}
@@ -1434,6 +1434,7 @@ marshal_load(argc, argv)
}
arg.src = port;
arg.offset = 0;
+ arg.data = 0;
major = r_byte(&arg);
minor = r_byte(&arg);
diff --git a/version.h b/version.h
index d1cf0c66e6..84918c1bdc 100644
--- a/version.h
+++ b/version.h
@@ -2,7 +2,7 @@
#define RUBY_RELEASE_DATE "2008-06-15"
#define RUBY_VERSION_CODE 185
#define RUBY_RELEASE_CODE 20080615
-#define RUBY_PATCHLEVEL 213
+#define RUBY_PATCHLEVEL 214
#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 8