summaryrefslogtreecommitdiff
path: root/variable.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-05-22 08:27:03 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-05-22 08:27:03 +0000
commitfb7c6c152b4bd299a70b725faf31eaec6c5f3616 (patch)
treec7a5dfe66e6a4c382e8bf45e878556f08d0d42a5 /variable.c
parent827a8a23ebca65910a73e36ca94163bfa82a5ad6 (diff)
* variable.c (rb_alias_variable): should not allow variable
aliasing if $SAFE >= 4. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'variable.c')
-rw-r--r--variable.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/variable.c b/variable.c
index 6e2ef0c875..47ea7ee0e7 100644
--- a/variable.c
+++ b/variable.c
@@ -703,6 +703,8 @@ rb_alias_variable(name1, name2)
{
struct global_entry *entry1, *entry2;
+ if (rb_safe_level() >= 4)
+ rb_raise(rb_eSecurityError, "Insecure: can't alias global variable");
entry1 = rb_global_entry(name1);
entry2 = rb_global_entry(name2);