From f30288ebf6c38936f4523c51047ea2ebc26e8a74 Mon Sep 17 00:00:00 2001 From: eban Date: Thu, 26 Jul 2001 03:54:48 +0000 Subject: [PATCH] * file.c (rb_find_file_noext, rb_find_file): fix tilde expansion problem. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ file.c | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index b2e152ddd6..008794b6eb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Jul 26 11:27:12 2001 WATANABE Hirofumi + + * file.c (rb_find_file_noext, rb_find_file): fix tilde expansion + problem. + Wed Jul 25 17:16:26 2001 Akinori MUSHA * intern.h: add some missing function prototypes. diff --git a/file.c b/file.c index e7271defe5..cf1dcc4702 100644 --- a/file.c +++ b/file.c @@ -2278,6 +2278,8 @@ rb_find_file_noext(filep) if (rb_safe_level() >= 2 && OBJ_TAINTED(fname)) { rb_raise(rb_eSecurityError, "loading from unsafe file %s", f); } + f = STR2CSTR(fname); + *filep = fname; } if (is_absolute_path(f)) { @@ -2323,10 +2325,11 @@ rb_find_file(path) struct stat st; if (f[0] == '~') { - tmp = rb_file_s_expand_path(1, &path); - if (rb_safe_level() >= 2 && OBJ_TAINTED(tmp)) { + path = rb_file_s_expand_path(1, &path); + if (rb_safe_level() >= 2 && OBJ_TAINTED(path)) { rb_raise(rb_eSecurityError, "loading from unsafe file %s", f); } + f = STR2CSTR(path); } #if defined(__MACOS__) || defined(riscos)