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

ruby-changes:38478

From: usa <ko1@a...>
Date: Wed, 20 May 2015 17:39:49 +0900 (JST)
Subject: [ruby-changes:38478] usa:r50559 (ruby_2_1): merge revision(s) 50541, 50542: [Backport #11159]

usa	2015-05-20 17:39:12 +0900 (Wed, 20 May 2015)

  New Revision: 50559

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

  Log:
    merge revision(s) 50541,50542: [Backport #11159]
    
    * iseq.c (rb_iseq_compile_with_option): check srouce type, must be
      an IO or a String.  [ruby-core:69219] [Bug #11159]
    
    * iseq.c (rb_iseq_compile_with_option): check source type, must be

  Modified directories:
    branches/ruby_2_1/
  Modified files:
    branches/ruby_2_1/ChangeLog
    branches/ruby_2_1/iseq.c
    branches/ruby_2_1/test/ruby/test_iseq.rb
    branches/ruby_2_1/version.h
Index: ruby_2_1/ChangeLog
===================================================================
--- ruby_2_1/ChangeLog	(revision 50558)
+++ ruby_2_1/ChangeLog	(revision 50559)
@@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_1/ChangeLog#L1
+Wed May 20 17:34:43 2015  Nobuyoshi Nakada  <nobu@r...>
+
+	* iseq.c (rb_iseq_compile_with_option): check source type, must be
+	  an IO or a String.  [ruby-core:69219] [Bug #11159]
+
 Wed May 13 14:32:13 2015  Tanaka Akira  <akr@f...>
 
 	* lib/resolv.rb (Resolv::DNS::Label::Str#==): Check class equality.
Index: ruby_2_1/iseq.c
===================================================================
--- ruby_2_1/iseq.c	(revision 50558)
+++ ruby_2_1/iseq.c	(revision 50559)
@@ -610,6 +610,7 @@ rb_iseq_compile_with_option(VALUE src, V https://github.com/ruby/ruby/blob/trunk/ruby_2_1/iseq.c#L610
 	if (RB_TYPE_P((src), T_FILE))
 	    node = rb_parser_compile_file_path(parser, file, src, ln);
 	else {
+	    StringValue(src);
 	    node = rb_parser_compile_string_path(parser, file, src, ln);
 
 	    if (!node) {
Index: ruby_2_1/version.h
===================================================================
--- ruby_2_1/version.h	(revision 50558)
+++ ruby_2_1/version.h	(revision 50559)
@@ -1,10 +1,10 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_1/version.h#L1
 #define RUBY_VERSION "2.1.7"
-#define RUBY_RELEASE_DATE "2015-05-13"
-#define RUBY_PATCHLEVEL 344
+#define RUBY_RELEASE_DATE "2015-05-20"
+#define RUBY_PATCHLEVEL 345
 
 #define RUBY_RELEASE_YEAR 2015
 #define RUBY_RELEASE_MONTH 5
-#define RUBY_RELEASE_DAY 13
+#define RUBY_RELEASE_DAY 20
 
 #include "ruby/version.h"
 
Index: ruby_2_1/test/ruby/test_iseq.rb
===================================================================
--- ruby_2_1/test/ruby/test_iseq.rb	(revision 50558)
+++ ruby_2_1/test/ruby/test_iseq.rb	(revision 50559)
@@ -124,4 +124,11 @@ class TestISeq < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/ruby_2_1/test/ruby/test_iseq.rb#L124
            ISeq.of(c.instance_method(:foobar)).label
     assert_same a, b
   end
+
+  def test_invalid_source
+    bug11159 = '[ruby-core:69219] [Bug #11159]'
+    assert_raise(TypeError, bug11159) {ISeq.compile(nil)}
+    assert_raise(TypeError, bug11159) {ISeq.compile(:foo)}
+    assert_raise(TypeError, bug11159) {ISeq.compile(1)}
+  end
 end

Property changes on: ruby_2_1
___________________________________________________________________
Modified: svn:mergeinfo
   Merged /trunk:r50541-50542


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

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