summaryrefslogtreecommitdiffhomepage
path: root/test/t
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-02-11 08:26:33 +0900
committerGitHub <[email protected]>2021-02-11 08:26:33 +0900
commitd178e147f5cd86af247fc4b6cfafbde1308ede33 (patch)
tree9bf92b07c0d7c9a407db5326f5c2f615e4cbc780 /test/t
parent5735d7c2fd18c7d92bfe7a7d1d68547e5765c60d (diff)
parent28eb6271ba231fb8a6bfc2110b06e24c410bf8e1 (diff)
downloadmruby-d178e147f5cd86af247fc4b6cfafbde1308ede33.tar.gz
mruby-d178e147f5cd86af247fc4b6cfafbde1308ede33.zip
Merge pull request #5333 from shuujii/fix-heap-buffer-overflow-for-small-Hash-HT-in-Hash-rehash
Fix heap-buffer-overflow for small `Hash` (HT) in `Hash#rehash`
Diffstat (limited to 'test/t')
-rw-r--r--test/t/hash.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/t/hash.rb b/test/t/hash.rb
index c51af03aa..a5e51d83b 100644
--- a/test/t/hash.rb
+++ b/test/t/hash.rb
@@ -944,6 +944,14 @@ assert('Hash#rehash') do
h = {}
assert_same(h, h.rehash)
assert_predicate(h, :empty?)
+
+ h = {}
+ (1..17).each{h[_1] = _1 * 2}
+ (2..16).each{h.delete(_1)}
+ assert_same(h, h.rehash)
+ assert_equal([[1, 2], [17, 34]], h.to_a)
+ assert_equal(2, h.size)
+ [1, 17].each{assert_equal(_1 * 2, h[_1])}
end
assert('#eql? receiver should be specified key') do