summaryrefslogtreecommitdiff
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
commit562185ff5cc2196cb80ea71ecaecf8e7f5c79eb3 (patch)
treece1aba50da30918c575849ba6dc8803da7be66d1 /eval.c
parent39d35c11307e31434cc71f0412b6ec34c7e3ee69 (diff)
* eval.c (rb_require_safe): get actual path string under safe level
when requested. fixed: [ruby-dev:25815] git-svn-id: svn+ssh://ci.ruby-lang.org/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 92925b1dd5..276989aa45 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)) {