diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-12 09:51:42 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-12 09:51:42 +0000 |
commit | 608cb2ed32549cb7fd8fa33033c3482d1465acfc (patch) | |
tree | ae8992c9ff1a107c582659eccd94b02b6475a298 | |
parent | 5643c0d69a4df96dfe5bbf1ade833dd928a6649a (diff) | |
download | ruby-608cb2ed32549cb7fd8fa33033c3482d1465acfc.tar.gz |
* transcode.c (rb_trans_open): free ts before raise.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | transcode.c | 1 |
2 files changed, 5 insertions, 0 deletions
@@ -1,3 +1,7 @@ +Tue Aug 12 18:51:11 2008 Tanaka Akira <akr@fsij.org> + + * transcode.c (rb_trans_open): free ts before raise. + Tue Aug 12 18:46:36 2008 Yukihiro Matsumoto <matz@ruby-lang.org> * ext/bigdecimal/bigdecimal.c (BigDecimalCmp): should not ignore diff --git a/transcode.c b/transcode.c index bfc3382deb..5cc93da63d 100644 --- a/transcode.c +++ b/transcode.c @@ -648,6 +648,7 @@ rb_trans_open(const char *from, const char *to, int flags) for (i = 0; i < ts->num_trans; i++) { tc = rb_transcoding_open(ts->elems[i].from, ts->elems[i].to, 0); if (!tc) { + xfree(ts); rb_raise(rb_eArgError, "converter open failed (from %s to %s)", from, to); } ts->elems[i].tc = tc; |