summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/fileutils.rb2
-rw-r--r--test/fileutils/test_fileutils.rb8
-rw-r--r--version.h2
3 files changed, 10 insertions, 2 deletions
diff --git a/lib/fileutils.rb b/lib/fileutils.rb
index dc7261857b..8981ef98e8 100644
--- a/lib/fileutils.rb
+++ b/lib/fileutils.rb
@@ -695,7 +695,7 @@ module FileUtils
f.chown euid, -1
f.chmod 0700
}
- rescue EISDIR # JRuby in non-native mode can't open files as dirs
+ rescue Errno::EISDIR # JRuby in non-native mode can't open files as dirs
File.lstat(dot_file).tap {|fstat|
unless fu_stat_identical_entry?(st, fstat)
# symlink (TOC-to-TOU attack?)
diff --git a/test/fileutils/test_fileutils.rb b/test/fileutils/test_fileutils.rb
index f2600005f5..64dd2464c0 100644
--- a/test/fileutils/test_fileutils.rb
+++ b/test/fileutils/test_fileutils.rb
@@ -740,7 +740,15 @@ class TestFileUtils < Test::Unit::TestCase
remove_entry_secure 'tmp/tmpdir/c', true
assert_file_not_exist 'tmp/tmpdir/a'
assert_file_not_exist 'tmp/tmpdir/c'
+
+ File.chmod(01777, 'tmp/tmpdir')
+ Dir.mkdir 'tmp/tmpdir/d', 0
+ assert_raise(Errno::EACCES) {remove_entry_secure 'tmp/tmpdir/d'}
+ File.chmod 0777, 'tmp/tmpdir/d'
+ Dir.rmdir 'tmp/tmpdir/d'
+
Dir.rmdir 'tmp/tmpdir'
+
end
def test_remove_entry_secure_symlink
diff --git a/version.h b/version.h
index 60437aa35f..02add458dc 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
#define RUBY_VERSION "2.6.1"
#define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR
-#define RUBY_PATCHLEVEL 34
+#define RUBY_PATCHLEVEL 35
#define RUBY_RELEASE_YEAR 2019
#define RUBY_RELEASE_MONTH 3