From a726d0a26c9f60d65167a83789f9c222cfda5728 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Thu, 8 Sep 2022 09:59:09 +0200 Subject: [PATCH] avcodec/flac_parser: avoid returning too negative number If return value is very small parser code will assert. Signed-off-by: Paul B Mahol --- libavcodec/flac_parser.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/flac_parser.c b/libavcodec/flac_parser.c index 5b3a4e6e67..bd91cc1a05 100644 --- a/libavcodec/flac_parser.c +++ b/libavcodec/flac_parser.c @@ -663,8 +663,11 @@ static int get_best_header(FLACParseContext *fpc, const uint8_t **poutbuf, /* Return the negative overread index so the client can compute pos. This should be the amount overread to the beginning of the child */ - if (child) - return child->offset - flac_fifo_size(&fpc->fifo_buf); + if (child) { + int64_t offset = child->offset - flac_fifo_size(&fpc->fifo_buf); + if (offset > -(1 << 28)) + return offset; + } return 0; } -- 2.37.2