From 99e3d26f2061541c772dcd678cbe8c48afa539c5 Mon Sep 17 00:00:00 2001 From: James Almer Date: Wed, 28 Dec 2022 18:36:11 -0300 Subject: [PATCH] avformat/mux: use only valid timestamps when calculating packet distance Fixes: signed integer overflow: 0 - -9223372036854775808 cannot be represented in type 'long int' Fixes: fate-cover-art-aiff-id3v2-remux, fate-cover-art-mp3-id3v2-remux and fate-mov-cover-image under ubsan. Signed-off-by: James Almer --- libavformat/mux.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavformat/mux.c b/libavformat/mux.c index 37fe19358d..b2b5be63b4 100644 --- a/libavformat/mux.c +++ b/libavformat/mux.c @@ -951,6 +951,7 @@ int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *pkt, if (s->max_interleave_delta > 0 && si->packet_buffer.head && + si->packet_buffer.head->pkt.dts != AV_NOPTS_VALUE && !flush && si->nb_interleaved_streams == stream_count+noninterleaved_count ) {