* file.c (rb_f_test): 'W' should test writable by real uid/git,

not world writable.   [ruby-core:30587]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2010-06-04 23:30:48 +00:00
parent df25a13116
commit fd4417f8fe
4 changed files with 9 additions and 4 deletions

View file

@ -1,3 +1,8 @@
Sat Jun 5 08:30:42 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* file.c (rb_f_test): 'W' should test writable by real uid/git,
not world writable. [ruby-core:30587]
Fri Jun 4 10:46:33 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> Fri Jun 4 10:46:33 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/dl/cfunc.c (rb_dlcfunc_inspect): should taint the result. * ext/dl/cfunc.c (rb_dlcfunc_inspect): should taint the result.

2
file.c
View file

@ -4107,7 +4107,7 @@ rb_f_test(int argc, VALUE *argv)
return rb_file_writable_p(0, argv[1]); return rb_file_writable_p(0, argv[1]);
case 'W': case 'W':
return rb_file_world_writable_p(0, argv[1]); return rb_file_writable_real_p(0, argv[1]);
case 'x': case 'x':
return rb_file_executable_p(0, argv[1]); return rb_file_executable_p(0, argv[1]);

View file

@ -538,7 +538,7 @@ class TestFileExhaustive < Test::Unit::TestCase
assert_equal(File.socket?(f), test(?S, f)) assert_equal(File.socket?(f), test(?S, f))
assert_equal(File.setuid?(f), test(?u, f)) assert_equal(File.setuid?(f), test(?u, f))
assert_equal(File.writable?(f), test(?w, f)) assert_equal(File.writable?(f), test(?w, f))
assert_equal(File.world_writable?(f), test(?W, f)) assert_equal(File.writable_real?(f), test(?W, f))
assert_equal(File.executable?(f), test(?x, f)) assert_equal(File.executable?(f), test(?x, f))
assert_equal(File.executable_real?(f), test(?X, f)) assert_equal(File.executable_real?(f), test(?X, f))
assert_equal(File.zero?(f), test(?z, f)) assert_equal(File.zero?(f), test(?z, f))

View file

@ -1,5 +1,5 @@
#define RUBY_VERSION "1.9.2" #define RUBY_VERSION "1.9.2"
#define RUBY_RELEASE_DATE "2010-06-04" #define RUBY_RELEASE_DATE "2010-06-05"
#define RUBY_PATCHLEVEL -1 #define RUBY_PATCHLEVEL -1
#define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MAJOR 1
@ -7,7 +7,7 @@
#define RUBY_VERSION_TEENY 1 #define RUBY_VERSION_TEENY 1
#define RUBY_RELEASE_YEAR 2010 #define RUBY_RELEASE_YEAR 2010
#define RUBY_RELEASE_MONTH 6 #define RUBY_RELEASE_MONTH 6
#define RUBY_RELEASE_DAY 4 #define RUBY_RELEASE_DAY 5
#include "ruby/version.h" #include "ruby/version.h"