diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-22 00:57:53 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-22 00:57:53 +0000 |
commit | eb995e112023e7485464d0e1ce70783eaf673e8b (patch) | |
tree | 18052a8421331efe0ed325eb4d520d82e2cf1a9f /array.c | |
parent | b8424eaf02409eab0e7421a8550f161cc90f88c8 (diff) |
* array.c (flatten): free memo hash table before raising exception.
[ruby-dev:34789]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'array.c')
-rw-r--r-- | array.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -3124,6 +3124,7 @@ flatten(ary, level, 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); |