summaryrefslogtreecommitdiffstats
path: root/marshal.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-04 05:08:57 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-04 05:08:57 +0000
commit36cf607244a57ba077864f564361ed6dd11572a0 (patch)
tree33ec01d96fdcc5aeeb118d06ff6c3c0e084c054d /marshal.c
parentb7e099323cd90a7f930f876e41896c21bd586f64 (diff)
downloadruby-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 'marshal.c')
-rw-r--r--marshal.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/marshal.c b/marshal.c
index ec0041dd0..b01d2de20 100644
--- a/marshal.c
+++ b/marshal.c
@@ -803,6 +803,7 @@ dump_ensure(struct dump_arg *arg)
st_free_table(arg->symbols);
st_free_table(arg->data);
st_free_table(arg->compat_tbl);
+ if (arg->encodings) st_free_table(arg->encodings);
DATA_PTR(arg->wrapper) = 0;
arg->wrapper = 0;
if (arg->taint) {