diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-03-30 09:19:06 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-03-30 09:19:06 +0000 |
commit | 058fd1101939461788e402600e6762c2acda8d8e (patch) | |
tree | 96cd6c1c48263979d06a85f5c0d1d30ef3f6b175 /eval.c | |
parent | 846f087a07dd148c07f111ac0483454dc9e756df (diff) | |
download | ruby-058fd1101939461788e402600e6762c2acda8d8e.tar.gz |
* eval.c (rb_eval): fix SEGV at retry in iterator's receiver.
[ruby-dev:23227]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -2959,7 +2959,7 @@ rb_eval(self, n) result = prot_tag->retval; state = 0; } - else if (state == TAG_RETRY) { + else if (state == TAG_RETRY && ruby_block == &_block) { state = 0; goto iter_retry; } @@ -4537,7 +4537,6 @@ break_jump(retval) VALUE retval; { struct tag *tt = prot_tag; - int yield = Qfalse; if (retval == Qundef) retval = Qnil; while (tt) { |