summaryrefslogtreecommitdiff
path: root/test/ruby/test_env.rb
diff options
context:
space:
mode:
authornagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-08-03 16:31:45 +0000
committernagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-08-03 16:31:45 +0000
commit856f4d49f15844d3da579e4c5e19dc1c3545ed28 (patch)
tree820775a52491ac64791b8443ddbabe6ca3caddca /test/ruby/test_env.rb
parent85c48fdc312a923c1bfe0ed88fa302d6417d9402 (diff)
merge revision(s) r46570: [Backport #9983]
* hash.c (env_shift): fix memory leak on Windows, free environment strings block always. [ruby-dev:48332] [Bug #9983] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_env.rb')
-rw-r--r--test/ruby/test_env.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/ruby/test_env.rb b/test/ruby/test_env.rb
index 2b286de04e..2d0d7634fd 100644
--- a/test/ruby/test_env.rb
+++ b/test/ruby/test_env.rb
@@ -434,4 +434,13 @@ class TestEnv < Test::Unit::TestCase
ENV.select {ENV.clear}
end;
end
+
+ def test_memory_leak_shift
+ bug9983 = '[ruby-dev:48332] [Bug #9983]'
+ assert_no_memory_leak([], <<-'end;', "5_000.times {ENV.shift; ENV[k] = v}", bug9983)
+ ENV.clear
+ k = 'FOO'
+ v = (ENV[k] = 'bar'*5000 rescue 'bar'*1500)
+ end;
+ end
end