summaryrefslogtreecommitdiff
path: root/libavformat/id3v2.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-12-15 20:56:34 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-12-15 21:43:19 +0100
commit460f8fca9c26f217c9f379677e50c1ea03ccc9d7 (patch)
treef4b0aace93d0e634a53ee679a5dd20edb717a972 /libavformat/id3v2.c
parent6eda91ad54fd3214610edb1e4a5adb58806c243e (diff)
avformat/id3v2: factor free code to the end of read_chapter()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/id3v2.c')
-rw-r--r--libavformat/id3v2.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c
index c2bd56ff46..effaaf41b0 100644
--- a/libavformat/id3v2.c
+++ b/libavformat/id3v2.c
@@ -549,10 +549,8 @@ static void read_chapter(AVFormatContext *s, AVIOContext *pb, int len, char *tta
taglen = avio_rb32(pb);
avio_skip(pb, 2);
len -= 10;
- if (taglen < 0 || taglen > len) {
- av_free(dst);
- return;
- }
+ if (taglen < 0 || taglen > len)
+ goto end;
if (tag[0] == 'T')
read_ttag(s, pb, taglen, &chapter->metadata, tag);
else
@@ -562,6 +560,7 @@ static void read_chapter(AVFormatContext *s, AVIOContext *pb, int len, char *tta
ff_metadata_conv(&chapter->metadata, NULL, ff_id3v2_34_metadata_conv);
ff_metadata_conv(&chapter->metadata, NULL, ff_id3v2_4_metadata_conv);
+end:
av_free(dst);
}