summaryrefslogtreecommitdiff
path: root/load.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-04-08 01:40:49 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-04-08 01:40:49 +0000
commit502e19fd10f08898d76f31f43b3f332a3f05e1a2 (patch)
treec4d6052017bf192a4eb9e4c62d4118d10cbc1eaa /load.c
parent7dc26509c69a1801a11c0ad07607faf858aee4fc (diff)
* load.c (rb_require_safe): should check fname path after $SAFE is
properly set. [ruby-dev:34268] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'load.c')
-rw-r--r--load.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/load.c b/load.c
index a2ffce4e4b..0072ed75ac 100644
--- a/load.c
+++ b/load.c
@@ -520,8 +520,6 @@ rb_require_safe(VALUE fname, int safe)
} volatile saved;
char *volatile ftptr = 0;
- FilePathValue(fname);
- RB_GC_GUARD(fname) = rb_str_new4(fname);
PUSH_TAG();
saved.safe = rb_safe_level();
if ((state = EXEC_TAG()) == 0) {
@@ -530,6 +528,8 @@ rb_require_safe(VALUE fname, int safe)
int found;
rb_set_safe_level_force(safe);
+ FilePathValue(fname);
+ RB_GC_GUARD(fname) = rb_str_new4(fname);
found = search_required(fname, &path);
if (found) {
if (!path || !(ftptr = load_lock(RSTRING_PTR(path)))) {