From fcfa6965e5e398a850d87a276b0deb5dc5d1525e Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Fri, 30 Sep 2022 18:25:04 +0200 Subject: [PATCH] avcodec/escape124: Fix segfault with negative linesizes Use ptrdiff_t instead of unsigned for linesizes. Fixes the armovie-escape124 FATE test with negative linesizes. Signed-off-by: Andreas Rheinhardt --- libavcodec/escape124.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavcodec/escape124.c b/libavcodec/escape124.c index eeeb9bb0f7..024eec59ce 100644 --- a/libavcodec/escape124.c +++ b/libavcodec/escape124.c @@ -178,8 +178,8 @@ static void insert_mb_into_sb(SuperBlock* sb, MacroBlock mb, unsigned index) { dst[4] = mb.pixels32[1]; } -static void copy_superblock(uint16_t* dest, unsigned dest_stride, - uint16_t* src, unsigned src_stride) +static void copy_superblock(uint16_t* dest, ptrdiff_t dest_stride, + uint16_t* src, ptrdiff_t src_stride) { unsigned y; if (src) @@ -211,7 +211,7 @@ static int escape124_decode_frame(AVCodecContext *avctx, AVFrame *frame, superblocks_per_row = avctx->width / 8, skip = -1; uint16_t* old_frame_data, *new_frame_data; - unsigned old_stride, new_stride; + ptrdiff_t old_stride, new_stride; int ret;