From cdb6372049109653fee52216e97640d8f8e7ecd1 Mon Sep 17 00:00:00 2001 From: Warren Dukes Date: Sat, 24 Jul 2004 02:54:19 +0000 Subject: 1) fix bug, id3_tag_parse does may return NULL if there's an error in decoding the id3v2 tag 2) in the same place, delete the id3Tag (fixes a memory leak) 3) version: 0.12.0 -> 0.11.4 git-svn-id: https://svn.musicpd.org/mpd/trunk@1903 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/inputPlugins/mp3_plugin.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/inputPlugins') diff --git a/src/inputPlugins/mp3_plugin.c b/src/inputPlugins/mp3_plugin.c index 73d9379a5..db5756b95 100644 --- a/src/inputPlugins/mp3_plugin.c +++ b/src/inputPlugins/mp3_plugin.c @@ -246,7 +246,10 @@ static MpdTag * mp3_parseId3Tag(mp3DecodeData * data, signed long tagsize) { id3Tag = id3_tag_parse(id3_data, tagsize); - ret = parseId3Tag(id3Tag); + if(id3Tag) { + ret = parseId3Tag(id3Tag); + id3_tag_delete(id3Tag); + } fail: if(allocated) free(allocated); @@ -272,7 +275,8 @@ int decodeNextFrameHeader(mp3DecodeData * data, MpdTag ** tag) { if(tagsize>0) { if(tag && !(*tag)) { - *tag =mp3_parseId3Tag(data, tagsize); + *tag = mp3_parseId3Tag(data, tagsize); + } else { mad_stream_skip(&(data->stream), -- cgit v1.2.3