ruby-changes:37271
From: naruse <ko1@a...>
Date: Tue, 20 Jan 2015 14:05:48 +0900 (JST)
Subject: [ruby-changes:37271] naruse:r49352 (ruby_2_2): merge revision(s) 49315: [Backport #10697]
naruse 2015-01-20 14:05:33 +0900 (Tue, 20 Jan 2015) New Revision: 49352 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=49352 Log: merge revision(s) 49315: [Backport #10697] * ext/win32ole/win32ole.c (ole_invoke): avoid SEGV when VT_RECORD variable is passed by reference. [ruby-dev:48803] [Bug #10697] Modified directories: branches/ruby_2_2/ Modified files: branches/ruby_2_2/ChangeLog branches/ruby_2_2/ext/win32ole/win32ole.c branches/ruby_2_2/version.h Index: ruby_2_2/ChangeLog =================================================================== --- ruby_2_2/ChangeLog (revision 49351) +++ ruby_2_2/ChangeLog (revision 49352) @@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ChangeLog#L1 +Tue Jan 20 14:05:08 2015 Masaki Suketa <masaki.suketa@n...> + + * ext/win32ole/win32ole.c (ole_invoke): avoid SEGV when VT_RECORD + variable is passed by reference. [ruby-dev:48803] [Bug #10697] + Mon Jan 19 15:45:33 2015 Seiei Higa <hanachin@g...> * vm_method.c (rb_method_entry): if no super class, no original Index: ruby_2_2/ext/win32ole/win32ole.c =================================================================== --- ruby_2_2/ext/win32ole/win32ole.c (revision 49351) +++ ruby_2_2/ext/win32ole/win32ole.c (revision 49352) @@ -2661,6 +2661,10 @@ ole_invoke(int argc, VALUE *argv, VALUE https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/win32ole/win32ole.c#L2661 param = rb_ary_entry(paramS, i-cNamedArgs); if (rb_obj_is_kind_of(param, cWIN32OLE_VARIANT)) { ole_variant2variant(param, &op.dp.rgvarg[n]); + } else if (rb_obj_is_kind_of(param, cWIN32OLE_RECORD)) { + ole_val2variant(param, &realargs[n]); + op.dp.rgvarg[n] = realargs[n]; + V_VT(&op.dp.rgvarg[n]) = VT_RECORD | VT_BYREF; } else { ole_val2variant(param, &realargs[n]); V_VT(&op.dp.rgvarg[n]) = VT_VARIANT | VT_BYREF; Index: ruby_2_2/version.h =================================================================== --- ruby_2_2/version.h (revision 49351) +++ ruby_2_2/version.h (revision 49352) @@ -1,6 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/version.h#L1 #define RUBY_VERSION "2.2.0" #define RUBY_RELEASE_DATE "2015-01-20" -#define RUBY_PATCHLEVEL 33 +#define RUBY_PATCHLEVEL 34 #define RUBY_RELEASE_YEAR 2015 #define RUBY_RELEASE_MONTH 1 Property changes on: ruby_2_2 ___________________________________________________________________ Modified: svn:mergeinfo Merged /trunk:r49315 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/