[FFmpeg-cvslog] avformat/id3v2: factor free code to the end of read_chapter()

Michael Niedermayer git at videolan.org
Sun Dec 15 22:13:58 CET 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Dec 15 20:56:34 2013 +0100| [460f8fca9c26f217c9f379677e50c1ea03ccc9d7] | committer: Michael Niedermayer

avformat/id3v2: factor free code to the end of read_chapter()

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=460f8fca9c26f217c9f379677e50c1ea03ccc9d7
---

 libavformat/id3v2.c |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c
index c2bd56f..effaaf4 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);
 }
 



More information about the ffmpeg-cvslog mailing list