aboutsummaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-07-19 00:25:45 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-07-19 00:25:45 +0000
commit2fe39eee8da51679aeb76aceb3d6bcd74e777d19 (patch)
tree65ce1058490ebe94b44ee5b00f8e6863072da913 /eval.c
parent11b219d80f4a31cd18b7eb1d152388b60deb0fc4 (diff)
downloadruby-2fe39eee8da51679aeb76aceb3d6bcd74e777d19.tar.gz
eval.c: check tag value
* eval.c (rb_jump_tag): paranoiac check of tag value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 8c8ac947f6..69a15d9985 100644
--- a/eval.c
+++ b/eval.c
@@ -755,6 +755,9 @@ rb_raise_jump(VALUE mesg, VALUE cause)
void
rb_jump_tag(int tag)
{
+ if (UNLIKELY(tag < TAG_RETURN || tag > TAG_FATAL)) {
+ unknown_longjmp_status(tag);
+ }
JUMP_TAG(tag);
}