summaryrefslogtreecommitdiffhomepage
path: root/test/t/codegen.rb
diff options
context:
space:
mode:
authorBouke van der Bijl <[email protected]>2016-12-07 11:22:30 -0500
committerBouke van der Bijl <[email protected]>2016-12-08 15:47:17 -0500
commitc8da3c4df4f8cb6f6d00c70e75606c59f9888509 (patch)
treef4aa9c676f8707fff0ff96867d42f4e2ef5d8328 /test/t/codegen.rb
parentdb6b6ff4420b6e9a68e90e497131560d1e57c06f (diff)
downloadmruby-c8da3c4df4f8cb6f6d00c70e75606c59f9888509.tar.gz
mruby-c8da3c4df4f8cb6f6d00c70e75606c59f9888509.zip
Fix segfault when undef is called with exactly 127 arguments
The issue is that when there are more than 126 arguments an array needs to be created to pass the arguments on with. Reported by https://hackerone.com/revskills
Diffstat (limited to 'test/t/codegen.rb')
-rw-r--r--test/t/codegen.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/t/codegen.rb b/test/t/codegen.rb
index bb0f5c306..3058a7fbc 100644
--- a/test/t/codegen.rb
+++ b/test/t/codegen.rb
@@ -63,3 +63,13 @@ assert('splat in case splat') do
assert_equal [1], a
end
+
+assert('undef with 127 or more arguments') do
+ assert_raise NameError do
+ undef
+ a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a,
+ a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a,
+ a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a,
+ a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a
+ end
+end