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

ruby-changes:25112

From: usa <ko1@a...>
Date: Fri, 12 Oct 2012 18:24:06 +0900 (JST)
Subject: [ruby-changes:25112] usa:r37164 (ruby_1_9_3): merge revision(s) 37163:

usa	2012-10-12 18:22:06 +0900 (Fri, 12 Oct 2012)

  New Revision: 37164

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

  Log:
    merge revision(s) 37163:
    
    * file.c (rb_get_path_check): path name must not contain NUL bytes.

  Modified files:
    branches/ruby_1_9_3/ChangeLog
    branches/ruby_1_9_3/file.c
    branches/ruby_1_9_3/test/ruby/test_file.rb
    branches/ruby_1_9_3/version.h

Index: ruby_1_9_3/ChangeLog
===================================================================
--- ruby_1_9_3/ChangeLog	(revision 37163)
+++ ruby_1_9_3/ChangeLog	(revision 37164)
@@ -1,3 +1,7 @@
+Fri Oct 12 18:19:35 2012  Nobuyoshi Nakada  <nobu@r...>
+
+	* file.c (rb_get_path_check): path name must not contain NUL bytes.
+
 Fri Oct 12 17:51:43 2012  Shugo Maeda  <shugo@r...>
 
 	* error.c (exc_to_s, name_err_to_s, name_err_mesg_to_str): do not
Index: ruby_1_9_3/version.h
===================================================================
--- ruby_1_9_3/version.h	(revision 37163)
+++ ruby_1_9_3/version.h	(revision 37164)
@@ -1,5 +1,5 @@
 #define RUBY_VERSION "1.9.3"
-#define RUBY_PATCHLEVEL 285
+#define RUBY_PATCHLEVEL 286
 
 #define RUBY_RELEASE_DATE "2012-10-12"
 #define RUBY_RELEASE_YEAR 2012
Index: ruby_1_9_3/test/ruby/test_file.rb
===================================================================
--- ruby_1_9_3/test/ruby/test_file.rb	(revision 37163)
+++ ruby_1_9_3/test/ruby/test_file.rb	(revision 37164)
@@ -260,4 +260,14 @@
       assert_equal(File.chmod(0666, file), 1, bug5671)
     end
   end
+
+  def test_open_nul
+    Dir.mktmpdir(__method__.to_s) do |tmpdir|
+      path = File.join(tmpdir, "foo")
+      assert_raise(ArgumentError) do
+        open(path + "\0bar", "w") {}
+      end
+      refute File.exist?(path)
+    end
+  end
 end
Index: ruby_1_9_3/file.c
===================================================================
--- ruby_1_9_3/file.c	(revision 37163)
+++ ruby_1_9_3/file.c	(revision 37164)
@@ -176,6 +176,9 @@
 	rb_raise(rb_eEncCompatError, "path name must be ASCII-compatible (%s): %s",
 		 rb_enc_name(enc), RSTRING_PTR(tmp));
     }
+
+    StringValueCStr(tmp);
+
     return rb_str_new4(tmp);
 }
 

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

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