summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-03-07 12:01:46 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-03-07 12:01:46 +0000
commit67b1a5c95a445c8feb9656b555d433f33a961ebe (patch)
treece1aba50da30918c575849ba6dc8803da7be66d1 /eval.c
parent7e17f207da63c1758ab76ffe149724fcdb83d23b (diff)
downloadruby-67b1a5c95a445c8feb9656b555d433f33a961ebe.tar.gz
ruby-67b1a5c95a445c8feb9656b555d433f33a961ebe.tar.xz
ruby-67b1a5c95a445c8feb9656b555d433f33a961ebe.zip
* eval.c (rb_require_safe): get actual path string under safe level
when requested. fixed: [ruby-dev:25815] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@8102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index 92925b1dd..276989aa4 100644
--- a/eval.c
+++ b/eval.c
@@ -6857,8 +6857,6 @@ rb_require_safe(fname, safe)
} volatile saved;
char *volatile ftptr = 0;
- FilePathValue(fname);
- fname = rb_str_new4(fname);
saved.vmode = scope_vmode;
saved.node = ruby_current_node;
saved.callee = ruby_frame->callee;
@@ -6871,6 +6869,8 @@ rb_require_safe(fname, safe)
int found;
ruby_safe_level = safe;
+ FilePathValue(fname);
+ *(volatile VALUE *)&fname = rb_str_new4(fname);
found = search_required(fname, &feature, &path);
if (found) {
if (!path || load_wait(RSTRING(feature)->ptr)) {