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

ruby-changes:66281

From: Nobuyoshi <ko1@a...>
Date: Fri, 21 May 2021 15:55:34 +0900 (JST)
Subject: [ruby-changes:66281] 10e63f3f56 (master): [ruby/rdoc] Vertical-bar is disallowed in path names on Windows

https://git.ruby-lang.org/ruby.git/commit/?id=10e63f3f56

From 10e63f3f56cc0f559816d921f3e771dea02f3eb9 Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Sat, 15 May 2021 01:26:51 +0900
Subject: [ruby/rdoc] Vertical-bar is disallowed in path names on Windows

No risk of remote code execution, when the file cannot be created.

https://github.com/ruby/rdoc/runs/2565343916?check_suite_focus=true#step:5:58
```
Error: test_remove_unparseable_CVE_2021_31799(TestRDocRDoc): Errno::EINVAL: Invalid argument @ utime_failed - | touch evil.txt && echo tags
D:/rubyinstaller-head-x64/lib/ruby/3.1.0/fileutils.rb:1142:in `utime'
D:/rubyinstaller-head-x64/lib/ruby/3.1.0/fileutils.rb:1142:in `block in touch'
D:/rubyinstaller-head-x64/lib/ruby/3.1.0/fileutils.rb:1139:in `each'
D:/rubyinstaller-head-x64/lib/ruby/3.1.0/fileutils.rb:1139:in `touch'
D:/a/rdoc/rdoc/test/rdoc/test_rdoc_rdoc.rb:463:in `block (2 levels) in test_remove_unparseable_CVE_2021_31799'
     460:     temp_dir do
     461:       file_list = ['| touch evil.txt && echo tags']
     462:       file_list.each do |f|
  => 463:         FileUtils.touch f
     464:       end
     465:
     466:       assert_equal file_list, @rdoc.remove_unparseable(file_list)
```

https://github.com/ruby/rdoc/commit/a7df7dc8fa
---
 test/rdoc/test_rdoc_rdoc.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test/rdoc/test_rdoc_rdoc.rb b/test/rdoc/test_rdoc_rdoc.rb
index 15f5383..22e9bb2 100644
--- a/test/rdoc/test_rdoc_rdoc.rb
+++ b/test/rdoc/test_rdoc_rdoc.rb
@@ -460,7 +460,7 @@ class TestRDocRDoc < RDoc::TestCase https://github.com/ruby/ruby/blob/trunk/test/rdoc/test_rdoc_rdoc.rb#L460
     temp_dir do
       file_list = ['| touch evil.txt && echo tags']
       file_list.each do |f|
-        FileUtils.touch f
+        FileUtils.touch f rescue omit
       end
 
       assert_equal file_list, @rdoc.remove_unparseable(file_list)
-- 
cgit v1.1


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

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