diff mbox series

[FFmpeg-devel,6/7] avcodec/escape124: Fix segfault with negative linesizes

Message ID GV1P250MB0737A87938CFA582599C8B5C8F569@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM
State Accepted
Commit fcfa6965e5e398a850d87a276b0deb5dc5d1525e
Headers show
Series [FFmpeg-devel,1/7] avcodec/sunrast: Use ptrdiff_t for stride | expand

Commit Message

Andreas Rheinhardt Sept. 30, 2022, 5:05 p.m. UTC
Use ptrdiff_t instead of unsigned for linesizes.
Fixes the armovie-escape124 FATE test with negative linesizes.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavcodec/escape124.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
diff mbox series

Patch

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;