ffmpeg | branch: master | Carl Eugen Hoyos <ceho...@ag.or.at> | Thu Nov 20 10:14:51 2014 +0100| [25ccf5df723c4e933f8cc25f36ba21264ef59a8c] | committer: Carl Eugen Hoyos
lavf/mux: Always call write_trailer() from av_write_trailer() to avoid a leak. Fixes ticket #4049. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=25ccf5df723c4e933f8cc25f36ba21264ef59a8c --- libavformat/mux.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libavformat/mux.c b/libavformat/mux.c index a09e33c..023832c 100644 --- a/libavformat/mux.c +++ b/libavformat/mux.c @@ -926,7 +926,7 @@ int av_write_trailer(AVFormatContext *s) for (;; ) { AVPacket pkt; ret = interleave_packet(s, &pkt, NULL, 1); - if (ret < 0) //FIXME cleanup needed for ret<0 ? + if (ret < 0) goto fail; if (!ret) break; @@ -943,10 +943,14 @@ int av_write_trailer(AVFormatContext *s) goto fail; } +fail: if (s->oformat->write_trailer) + if (ret >= 0) { ret = s->oformat->write_trailer(s); + } else { + s->oformat->write_trailer(s); + } -fail: if (s->pb) avio_flush(s->pb); if (ret == 0) _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog