summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Jacques <kernelzilla@kinetic-computing.com>2010-11-06 16:15:17 +0800
committerKenny Root <kenny@the-b.org>2010-11-07 12:49:10 +0800
commitffb50496c70cd15e456bc1a37a4b3d62fc0db6c5 (patch)
treec79f56847b7d19441e2b15365c6d140f6d1e19c3
parent3c276f4d58833251300b772c184b13c8c6f6a82c (diff)
downloadexternal_flac-ffb50496c70cd15e456bc1a37a4b3d62fc0db6c5.zip
external_flac-ffb50496c70cd15e456bc1a37a4b3d62fc0db6c5.tar.gz
external_flac-ffb50496c70cd15e456bc1a37a4b3d62fc0db6c5.tar.bz2
libFLAC: fix leak in metadata_iterators.c
node isn't cleared if metadata reading fails in read_metadata_block_header_cb.
-rw-r--r--libFLAC/metadata_iterators.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libFLAC/metadata_iterators.c b/libFLAC/metadata_iterators.c
index 15362f7..8b9dbec 100644
--- a/libFLAC/metadata_iterators.c
+++ b/libFLAC/metadata_iterators.c
@@ -1217,6 +1217,7 @@ static FLAC__bool chain_read_cb_(FLAC__Metadata_Chain *chain, FLAC__IOHandle han
}
if(!read_metadata_block_header_cb_(handle, read_cb, &is_last, &type, &length)) {
+ node_delete_(node);
chain->status = FLAC__METADATA_CHAIN_STATUS_READ_ERROR;
return false;
}