From 6197ef054059dbbf12cdd671c5b82f9ea75c91de Mon Sep 17 00:00:00 2001 From: shyouhei Date: Tue, 27 Jan 2009 08:32:26 +0000 Subject: merge revision(s) 19652: * marshal.c (marshal_dump): initializes dump_arg before any funcall. [ruby-dev:36648] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@21802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ marshal.c | 8 ++++---- version.h | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6248a0b64c..e4472c5971 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Jan 27 17:30:11 2009 Nobuyoshi Nakada + + * marshal.c (marshal_dump): initializes dump_arg before any funcall. + [ruby-dev:36648] + Tue Jan 27 15:17:35 2009 Nobuyoshi Nakada * ext/socket/socket.c (host_str): numeric address should be unsigned. diff --git a/marshal.c b/marshal.c index 6b5a81cfc1..f1a191568d 100644 --- a/marshal.c +++ b/marshal.c @@ -776,8 +776,12 @@ marshal_dump(argc, argv) else port = a1; } arg.dest = 0; + arg.symbols = st_init_numtable(); + arg.data = st_init_numtable(); + arg.taint = Qfalse; arg.str = rb_str_buf_new(0); RBASIC(arg.str)->klass = 0; + arg.wrapper = Data_Wrap_Struct(rb_cData, mark_dump_arg, 0, &arg); if (!NIL_P(port)) { if (!rb_respond_to(port, s_write)) { type_error: @@ -793,10 +797,6 @@ marshal_dump(argc, argv) port = arg.str; } - arg.symbols = st_init_numtable(); - arg.data = st_init_numtable(); - arg.taint = Qfalse; - arg.wrapper = Data_Wrap_Struct(rb_cData, mark_dump_arg, 0, &arg); c_arg.obj = obj; c_arg.arg = &arg; c_arg.limit = limit; diff --git a/version.h b/version.h index 1c47238a02..10f3d3c6a2 100644 --- a/version.h +++ b/version.h @@ -2,7 +2,7 @@ #define RUBY_RELEASE_DATE "2009-01-27" #define RUBY_VERSION_CODE 187 #define RUBY_RELEASE_CODE 20090127 -#define RUBY_PATCHLEVEL 97 +#define RUBY_PATCHLEVEL 98 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 -- cgit v1.2.3