This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch release/7.1
in repository ffmpeg.

commit 02aad54e2c6d037d5cd85cd2bd95f9df83cdde6e
Author:     Nuo Mi <[email protected]>
AuthorDate: Sun Jan 26 11:10:21 2025 +0800
Commit:     Frank Plowman <[email protected]>
CommitDate: Wed Jun 10 15:12:22 2026 +0100

    lavc/vvcdec: ensure slices contain nonzero CTUs
    
    fixes https://github.com/ffvvc/tests/tree/main/fuzz/passed/000323.bit
    
    Co-authored-by: Frank Plowman <[email protected]>
    (cherry picked from commit ca3550948c4f1d9fe7dbdc24572b92e588846c7b)
---
 libavcodec/vvc/ps.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/libavcodec/vvc/ps.c b/libavcodec/vvc/ps.c
index 66f14a059c..cca6b413e5 100644
--- a/libavcodec/vvc/ps.c
+++ b/libavcodec/vvc/ps.c
@@ -1224,7 +1224,7 @@ static int sh_alf_aps(const VVCSH *sh, const 
VVCFrameParamSets *fps)
     return 0;
 }
 
-static void sh_slice_address(VVCSH *sh, const H266RawSPS *sps, const VVCPPS 
*pps)
+static int sh_slice_address(VVCSH *sh, const H266RawSPS *sps, const VVCPPS 
*pps)
 {
     const int slice_address     = sh->r->sh_slice_address;
 
@@ -1248,6 +1248,11 @@ static void sh_slice_address(VVCSH *sh, const H266RawSPS 
*sps, const VVCPPS *pps
             sh->num_ctus_in_curr_slice += pps->r->row_height_val[tile_y] * 
pps->r->col_width_val[tile_x];
         }
     }
+
+    if (!sh->num_ctus_in_curr_slice)
+        return  AVERROR_INVALIDDATA;
+
+    return 0;
 }
 
 static void sh_qp_y(VVCSH *sh, const H266RawPPS *pps, const 
H266RawPictureHeader *ph)
@@ -1344,7 +1349,9 @@ static int sh_derive(VVCSH *sh, const VVCFrameParamSets 
*fps)
     const H266RawPictureHeader *ph  = fps->ph.r;
     int ret;
 
-    sh_slice_address(sh, sps, fps->pps);
+    ret = sh_slice_address(sh, sps, fps->pps);
+    if (ret < 0)
+        return ret;
     ret = sh_alf_aps(sh, fps);
     if (ret < 0)
         return ret;

_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to