summaryrefslogtreecommitdiffstats
path: root/lib/weakref.rb
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-11-08 06:43:14 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-11-08 06:43:14 +0000
commit31b3856276ef3635365aeb19237306c954fd1317 (patch)
tree7f6e3c4b45359409bf57526308837f5dbbc45905 /lib/weakref.rb
parente9d603caf98becdedd3962c718b5756e424c6788 (diff)
downloadruby-31b3856276ef3635365aeb19237306c954fd1317.tar.gz
ruby-31b3856276ef3635365aeb19237306c954fd1317.tar.xz
ruby-31b3856276ef3635365aeb19237306c954fd1317.zip
* process.c (security): always give warning for insecure PATH.
* dir.c (my_getcwd): do not rely on MAXPATHLEN. * file.c (rb_file_s_readlink): ditto. * file.c (path_check_1): ditto. * eval.c (rb_yield_0): should not call rb_f_block_given_p(). * string.c (rb_str_chomp_bang): should terminate string by NUL. * eval.c (rb_yield_0): better error message. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@1816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/weakref.rb')
-rw-r--r--lib/weakref.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/weakref.rb b/lib/weakref.rb
index 459f69f92..6861fde5f 100644
--- a/lib/weakref.rb
+++ b/lib/weakref.rb
@@ -60,7 +60,11 @@ class WeakRef<Delegator
unless ID_MAP[@__id]
raise RefError, "Illegal Reference - probably recycled", caller(2)
end
- ObjectSpace._id2ref(@__id)
+ begin
+ ObjectSpace._id2ref(@__id)
+ rescue RangeError
+ raise RefError, "Illegal Reference - probably recycled", caller(2)
+ end
end
def weakref_alive?