diff options
| author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-04 05:08:57 +0000 |
|---|---|---|
| committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-04 05:08:57 +0000 |
| commit | 36cf607244a57ba077864f564361ed6dd11572a0 (patch) | |
| tree | 33ec01d96fdcc5aeeb118d06ff6c3c0e084c054d /transcode.c | |
| parent | b7e099323cd90a7f930f876e41896c21bd586f64 (diff) | |
| download | ruby-36cf607244a57ba077864f564361ed6dd11572a0.tar.gz ruby-36cf607244a57ba077864f564361ed6dd11572a0.tar.xz ruby-36cf607244a57ba077864f564361ed6dd11572a0.zip | |
* marshal.c (dump_ensure), process.c (run_exec_dup2),
string.c (rb_str_replace), transcode.c (transcode_dispatch): fixed
memory leaks. based on patches from shinichiro.h <shinichiro.hamaji
AT gmail.com> at [ruby-dev:35751].
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'transcode.c')
| -rw-r--r-- | transcode.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/transcode.c b/transcode.c index f79ad6dbd..38cd155f3 100644 --- a/transcode.c +++ b/transcode.c @@ -110,6 +110,7 @@ transcode_dispatch(const char *from_encoding, const char *to_encoding) } if (!val) { if (!st_lookup(transcoder_table, (st_data_t)key, &val)) { + xfree(key); /* multistep logic, via UTF-8 */ if (!encoding_equal(from_encoding, "UTF-8") && !encoding_equal(to_encoding, "UTF-8") && @@ -119,6 +120,7 @@ transcode_dispatch(const char *from_encoding, const char *to_encoding) return NULL; } } + xfree(key); return (rb_transcoder *)val; } |
