From 18f24527eb4b520585e55f922cdbc234aa9f0f18 Mon Sep 17 00:00:00 2001 From: James Almer Date: Fri, 9 Dec 2022 21:48:43 -0300 Subject: [PATCH] avformat/oggenc: ignore empty packets Some encoders, like flac, can send side data only packets at the end. Eventually, said extradata update should ideally be used to update the header when writting to seekable output, but for now, ignore them. Should fix the undefined behavior of passing NULL to memcpy(). Signed-off-by: James Almer --- libavformat/oggenc.c | 2 +- tests/ref/lavf/ogg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/oggenc.c b/libavformat/oggenc.c index ae0705ba54..5003314adb 100644 --- a/libavformat/oggenc.c +++ b/libavformat/oggenc.c @@ -687,7 +687,7 @@ static int ogg_write_packet(AVFormatContext *s, AVPacket *pkt) { int i; - if (pkt) + if (pkt && pkt->size) return ogg_write_packet_internal(s, pkt); for (i = 0; i < s->nb_streams; i++) { diff --git a/tests/ref/lavf/ogg b/tests/ref/lavf/ogg index 3ac10e6f7c..0796ff568a 100644 --- a/tests/ref/lavf/ogg +++ b/tests/ref/lavf/ogg @@ -1,3 +1,3 @@ -81b9366cacb23644c2803585dced9996 *tests/data/lavf/lavf.ogg +507a906a705d16f3a3b0c4114c738110 *tests/data/lavf/lavf.ogg 13516 tests/data/lavf/lavf.ogg tests/data/lavf/lavf.ogg CRC=0x3a1da17e