From eb995e112023e7485464d0e1ce70783eaf673e8b Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 22 May 2008 00:57:53 +0000 Subject: [PATCH] * 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 --- ChangeLog | 5 +++++ array.c | 1 + 2 files changed, 6 insertions(+) diff --git a/ChangeLog b/ChangeLog index 96352dd940..3d0c166fe2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu May 22 08:28:49 2008 Yukihiro Matsumoto + + * array.c (flatten): free memo hash table before raising exception. + [ruby-dev:34789] + Thu May 22 06:30:10 2008 Hidetoshi NAGAI * array.c (flatten): fix memory leak. diff --git a/array.c b/array.c index 0357e728f0..e3d92bac2d 100644 --- a/array.c +++ b/array.c @@ -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);