diff options
| author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-09-08 13:16:57 +0000 |
|---|---|---|
| committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-09-08 13:16:57 +0000 |
| commit | c78b2056f453727f0667851bd4ac4773b8280f82 (patch) | |
| tree | c16e0865ae7dd2e7b700907380c7edc0b6f2484b /ext/tk/lib | |
| parent | 185c5dfdfe07ac4ef79294cbc1c315c5d986c396 (diff) | |
| download | ruby-c78b2056f453727f0667851bd4ac4773b8280f82.tar.gz ruby-c78b2056f453727f0667851bd4ac4773b8280f82.tar.xz ruby-c78b2056f453727f0667851bd4ac4773b8280f82.zip | |
* multi-tk.rb: modify security check at creating a new interpreter
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/lib')
| -rw-r--r-- | ext/tk/lib/multi-tk.rb | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/ext/tk/lib/multi-tk.rb b/ext/tk/lib/multi-tk.rb index 7053dddef..750a2b79d 100644 --- a/ext/tk/lib/multi-tk.rb +++ b/ext/tk/lib/multi-tk.rb @@ -459,12 +459,20 @@ class MultiTkIp ###################################### def initialize(master, safeip=true, keys={}) - if safeip == nil && !master.master? - fail SecurityError, "slave-ip cannot create master-ip" + if $SAFE >= 4 + fail SecurityError, "cannot create a new interpreter at level #{$SAFE}" + end + + if safeip == nil && $SAFE >= 2 + fail SecurityError, "cannot create a master-ip at level #{$SAFE}" end - if safeip == nil && $SAFE >= 4 - fail SecurityError, "cannot create master-ip at level #{$SAFE}" + if !master.master? && master.safe? + fail SecurityError, "safe-slave-ip cannot create a new interpreter" + end + + if safeip == nil && !master.master? + fail SecurityError, "slave-ip cannot create a master-ip" end unless keys.kind_of? Hash |
