summaryrefslogtreecommitdiff
path: root/win32/file.c
diff options
context:
space:
mode:
author卜部昌平 <shyouhei@ruby-lang.org>2021-01-20 11:59:05 +0900
committer卜部昌平 <shyouhei@ruby-lang.org>2021-01-27 09:30:15 +0900
commita2c069fca9ea80edef8f6441aeaecdfe4d1645a0 (patch)
treef6d5d7517f232757181c812a45529aa195c0bb97 /win32/file.c
parent3f4f10bb603a1c8979919c6b0ca1d8b2e7adba67 (diff)
downloadruby-a2c069fca9ea80edef8f6441aeaecdfe4d1645a0.tar.gz
win32/file.c:rb_file_expand_path_internal: delete OBJ_TAINT
Makes no sense any longer.
Diffstat (limited to 'win32/file.c')
-rw-r--r--win32/file.c24
1 files changed, 0 insertions, 24 deletions
diff --git a/win32/file.c b/win32/file.c
index 5c34bd42b4..d92cec6a44 100644
--- a/win32/file.c
+++ b/win32/file.c
@@ -37,8 +37,6 @@ IS_ABSOLUTE_PATH_P(const WCHAR *path, size_t len)
#define INVALID_CODE_PAGE 51932
#define PATH_BUFFER_SIZE MAX_PATH * 2
-#define insecure_obj_p(obj, level) ((level) > 0 && OBJ_TAINTED(obj))
-
/* defined in win32/win32.c */
#define system_code_page rb_w32_filecp
#define mbstr_to_wstr rb_w32_mbstr_to_wstr
@@ -288,10 +286,6 @@ rb_file_expand_path_internal(VALUE fname, VALUE dname, int abs_mode, int long_na
wchar_t path_drive = L'\0', dir_drive = L'\0';
int ignore_dir = 0;
rb_encoding *path_encoding;
- int tainted = 0;
-
- /* tainted if path is tainted */
- tainted = OBJ_TAINTED(path);
/* get path encoding */
if (NIL_P(dir)) {
@@ -328,9 +322,6 @@ rb_file_expand_path_internal(VALUE fname, VALUE dname, int abs_mode, int long_na
/* expand '~' only if NOT rb_file_absolute_path() where `abs_mode` is 1 */
if (abs_mode == 0 && wpath_len > 0 && wpath_pos[0] == L'~' &&
(wpath_len == 1 || IS_DIR_SEPARATOR_P(wpath_pos[1]))) {
- /* tainted if expanding '~' */
- tainted = 1;
-
whome = rb_w32_home_dir();
if (whome == NULL) {
free(wpath);
@@ -409,9 +400,6 @@ rb_file_expand_path_internal(VALUE fname, VALUE dname, int abs_mode, int long_na
if (abs_mode == 0 && wdir_len > 0 && wdir_pos[0] == L'~' &&
(wdir_len == 1 || IS_DIR_SEPARATOR_P(wdir_pos[1]))) {
- /* tainted if expanding '~' */
- tainted = 1;
-
whome = rb_w32_home_dir();
if (whome == NULL) {
free(wpath);
@@ -516,10 +504,6 @@ rb_file_expand_path_internal(VALUE fname, VALUE dname, int abs_mode, int long_na
}
if (wdir_len) {
- /* tainted if dir is used and dir is tainted */
- if (!tainted && OBJ_TAINTED(dir))
- tainted = 1;
-
wcsncpy(buffer_pos, wdir_pos, wdir_len);
buffer_pos += wdir_len;
}
@@ -545,10 +529,6 @@ rb_file_expand_path_internal(VALUE fname, VALUE dname, int abs_mode, int long_na
/* Ensure buffer is NULL terminated */
buffer_pos[0] = L'\0';
- /* tainted if path is relative */
- if (!tainted && !IS_ABSOLUTE_PATH_P(buffer, buffer_len))
- tainted = 1;
-
/* FIXME: Make this more robust */
/* Determine require buffer size */
size = GetFullPathNameW(buffer, PATH_BUFFER_SIZE, wfullpath_buffer, NULL);
@@ -591,10 +571,6 @@ rb_file_expand_path_internal(VALUE fname, VALUE dname, int abs_mode, int long_na
rb_str_set_len(result, 0);
result = append_wstr(result, wfullpath, size, path_cp, path_encoding);
- /* makes the result object tainted if expanding tainted strings or returning modified path */
- if (tainted)
- OBJ_TAINT(result);
-
/* TODO: better cleanup */
if (buffer)
xfree(buffer);