[FFmpeg-cvslog] lavc/vvc: Add check to num_multi_layer_olss

Frank Plowman git at videolan.org
Mon Feb 26 02:06:35 EET 2024


ffmpeg | branch: release/6.1 | Frank Plowman <post at frankplowman.com> | Tue Jan 30 09:40:57 2024 +0000| [61628a44eb8e7a8abc884bf3f7f0b9158229248a] | committer: James Almer

lavc/vvc: Add check to num_multi_layer_olss

Check that vps_each_layer_is_an_ols_flag, which indicates that "at
least one OLS specified by the VPS contains more than one layer," is
set if num_multi_layer_olss is non-zero.

Fixes: 65160/clusterfuzz-testcase-minimized-ffmpeg_BSF_VVC_METADATA_fuzzer-4665241535119360

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Frank Plowman <post at frankplowman.com>
Signed-off-by: James Almer <jamrial at gmail.com>
(cherry picked from commit 36a986d9a193e39382de4bac95e2e314cc30ca7a)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=61628a44eb8e7a8abc884bf3f7f0b9158229248a
---

 libavcodec/cbs_h266_syntax_template.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavcodec/cbs_h266_syntax_template.c b/libavcodec/cbs_h266_syntax_template.c
index a4c1363ba6..d2e63f6016 100644
--- a/libavcodec/cbs_h266_syntax_template.c
+++ b/libavcodec/cbs_h266_syntax_template.c
@@ -911,6 +911,8 @@ static int FUNC(vps) (CodedBitstreamContext *ctx, RWContext *rw,
                 num_multi_layer_olss++;
             }
         }
+        if (!current->vps_each_layer_is_an_ols_flag && num_multi_layer_olss == 0)
+            return AVERROR_INVALIDDATA;
     }
 
     for (i = 0; i <= current->vps_num_ptls_minus1; i++) {



More information about the ffmpeg-cvslog mailing list