Skip to content
Snippets Groups Projects
Commit 25ccf5df authored by Carl Eugen Hoyos's avatar Carl Eugen Hoyos
Browse files

lavf/mux: Always call write_trailer() from av_write_trailer() to avoid a leak.

Fixes ticket #4049.
parent c661601f
No related branches found
No related tags found
No related merge requests found
...@@ -926,7 +926,7 @@ int av_write_trailer(AVFormatContext *s) ...@@ -926,7 +926,7 @@ int av_write_trailer(AVFormatContext *s)
for (;; ) { for (;; ) {
AVPacket pkt; AVPacket pkt;
ret = interleave_packet(s, &pkt, NULL, 1); ret = interleave_packet(s, &pkt, NULL, 1);
if (ret < 0) //FIXME cleanup needed for ret<0 ? if (ret < 0)
goto fail; goto fail;
if (!ret) if (!ret)
break; break;
...@@ -943,10 +943,14 @@ int av_write_trailer(AVFormatContext *s) ...@@ -943,10 +943,14 @@ int av_write_trailer(AVFormatContext *s)
goto fail; goto fail;
} }
fail:
if (s->oformat->write_trailer) if (s->oformat->write_trailer)
if (ret >= 0) {
ret = s->oformat->write_trailer(s); ret = s->oformat->write_trailer(s);
} else {
s->oformat->write_trailer(s);
}
fail:
if (s->pb) if (s->pb)
avio_flush(s->pb); avio_flush(s->pb);
if (ret == 0) if (ret == 0)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment