[FFmpeg-cvslog] avformat/movenc: Fix memleak of reshuffled packet

Michael Niedermayer git at videolan.org
Sat May 28 03:55:52 CEST 2016


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Sat May 28 03:12:04 2016 +0200| [86d703fd5584ea90530b23982faff17c8488a704] | committer: Michael Niedermayer

avformat/movenc: Fix memleak of reshuffled packet

Fixes CID1361952

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

 libavformat/movenc.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 9db6852..51c3d2b 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -4812,7 +4812,7 @@ static int mov_write_packet(AVFormatContext *s, AVPacket *pkt)
             if (trk->par->format == AV_PIX_FMT_PAL8 && !trk->pal_done) {
                 ret = ff_get_packet_palette(s, opkt, reshuffle_ret, trk->palette);
                 if (ret < 0)
-                    return ret;
+                    goto fail;
                 if (ret)
                     trk->pal_done++;
             } else if (trk->par->codec_id == AV_CODEC_ID_RAWVIDEO &&
@@ -4823,7 +4823,9 @@ static int mov_write_packet(AVFormatContext *s, AVPacket *pkt)
             }
             if (reshuffle_ret) {
                 ret = mov_write_single_packet(s, pkt);
-                av_packet_free(&pkt);
+fail:
+                if (reshuffle_ret)
+                    av_packet_free(&pkt);
                 return ret;
             }
         }



More information about the ffmpeg-cvslog mailing list