]> git.sesse.net Git - ffmpeg/commitdiff
avformat/aadec: Fix leak on error
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Wed, 24 Mar 2021 02:23:37 +0000 (03:23 +0100)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Fri, 26 Mar 2021 02:03:59 +0000 (03:03 +0100)
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavformat/aadec.c

index 80ca2c12d79ac20b4b64a95cf2e1b0dc946a81c5..2575e98153724c31d069d407d2c957568d7e34e1 100644 (file)
@@ -229,8 +229,11 @@ static int aa_read_header(AVFormatContext *s)
         chapter_pos -= start + CHAPTER_HEADER_SIZE * chapter_idx;
         avio_skip(pb, 4 + chapter_size);
         if (!avpriv_new_chapter(s, chapter_idx, st->time_base,
-            chapter_pos * TIMEPREC, (chapter_pos + chapter_size) * TIMEPREC, NULL))
-                return AVERROR(ENOMEM);
+                                chapter_pos * TIMEPREC,
+                                (chapter_pos + chapter_size) * TIMEPREC, NULL)) {
+            av_freep(&c->tea_ctx);
+            return AVERROR(ENOMEM);
+        }
     }
 
     st->duration = (largest_size - CHAPTER_HEADER_SIZE * s->nb_chapters) * TIMEPREC;