[前][次][番号順一覧][スレッド一覧]

ruby-changes:47435

From: usa <ko1@a...>
Date: Wed, 9 Aug 2017 21:17:29 +0900 (JST)
Subject: [ruby-changes:47435] usa:r59551 (ruby_2_3): merge revision(s) 57634: [Backport #13150]

usa	2017-08-09 21:17:24 +0900 (Wed, 09 Aug 2017)

  New Revision: 59551

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=59551

  Log:
    merge revision(s) 57634: [Backport #13150]
    
    marshal.c: revert r57631 partially
    
    * marshal.c (rb_marshal_dump_limited): do not free dump_arg, which
      may be dereferenced in check_dump_arg due to continuation, and
      get rid of dangling pointers.
    
    * marshal.c (rb_marshal_load_with_proc): ditto for load_arg.

  Modified directories:
    branches/ruby_2_3/
  Modified files:
    branches/ruby_2_3/ChangeLog
    branches/ruby_2_3/marshal.c
    branches/ruby_2_3/version.h
Index: ruby_2_3/ChangeLog
===================================================================
--- ruby_2_3/ChangeLog	(revision 59550)
+++ ruby_2_3/ChangeLog	(revision 59551)
@@ -1,3 +1,11 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_3/ChangeLog#L1
+Wed Aug  9 21:16:22 2017  Nobuyoshi Nakada  <nobu@r...>
+
+	* marshal.c (rb_marshal_dump_limited): do not free dump_arg, which
+	  may be dereferenced in check_dump_arg due to continuation, and
+	  get rid of dangling pointers.
+
+	* marshal.c (rb_marshal_load_with_proc): ditto for load_arg.
+
 Wed Aug  9 21:13:24 2017  NAKAMURA Usaku  <usa@r...>
 
 	* compile.c (iseq_compile_each): remove unused definition of unused
Index: ruby_2_3/version.h
===================================================================
--- ruby_2_3/version.h	(revision 59550)
+++ ruby_2_3/version.h	(revision 59551)
@@ -1,6 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_3/version.h#L1
 #define RUBY_VERSION "2.3.5"
 #define RUBY_RELEASE_DATE "2017-08-09"
-#define RUBY_PATCHLEVEL 360
+#define RUBY_PATCHLEVEL 361
 
 #define RUBY_RELEASE_YEAR 2017
 #define RUBY_RELEASE_MONTH 8
Index: ruby_2_3/marshal.c
===================================================================
--- ruby_2_3/marshal.c	(revision 59550)
+++ ruby_2_3/marshal.c	(revision 59551)
@@ -1051,8 +1051,8 @@ rb_marshal_dump_limited(VALUE obj, VALUE https://github.com/ruby/ruby/blob/trunk/ruby_2_3/marshal.c#L1051
 	rb_io_write(arg->dest, arg->str);
 	rb_str_resize(arg->str, 0);
     }
-    free_dump_arg(arg);
-    rb_gc_force_recycle(wrapper);
+    clear_dump_arg(arg);
+    RB_GC_GUARD(wrapper);
 
     return port;
 }
@@ -2090,8 +2090,8 @@ rb_marshal_load_with_proc(VALUE port, VA https://github.com/ruby/ruby/blob/trunk/ruby_2_3/marshal.c#L2090
 
     if (!NIL_P(proc)) arg->proc = proc;
     v = r_object(arg);
-    free_load_arg(arg);
-    rb_gc_force_recycle(wrapper);
+    clear_load_arg(arg);
+    RB_GC_GUARD(wrapper);
 
     return v;
 }
Index: ruby_2_3
===================================================================
--- ruby_2_3	(revision 59550)
+++ ruby_2_3	(revision 59551)

Property changes on: ruby_2_3
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,1 ##
   Merged /trunk:r57634

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]