diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-22 00:57:47 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-22 00:57:47 +0000 |
commit | 9d27c792c25174237ad4d47e5d409efd72d57342 (patch) | |
tree | 40a11e96f3ffa8e1272043b664a60e255fd883db | |
parent | 1ef64a66247260a4ecdd150154632bb6766db718 (diff) | |
download | ruby-9d27c792c25174237ad4d47e5d409efd72d57342.tar.gz |
* array.c (flatten): free memo hash table before raising exception.
[ruby-dev:34789]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | array.c | 1 |
2 files changed, 6 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Thu May 22 08:28:49 2008 Yukihiro Matsumoto <matz@ruby-lang.org> + + * array.c (flatten): free memo hash table before raising exception. + [ruby-dev:34789] + Thu May 22 06:30:10 2008 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> * array.c (flatten): fix memory leak. @@ -2848,6 +2848,7 @@ flatten(VALUE ary, int level, int *modified) *modified = 1; id = (st_data_t)tmp; if (st_lookup(memo, id, 0)) { + st_free_table(memo); rb_raise(rb_eArgError, "tried to flatten recursive array"); } st_insert(memo, id, (st_data_t)Qtrue); |