[FFmpeg-devel] [PATCH 5/9] avcodec/cbs_h266_syntax_template: Check bit depth with range extension
James Almer
jamrial at gmail.com
Fri Sep 20 03:54:58 EEST 2024
On 9/19/2024 9:34 PM, Michael Niedermayer wrote:
> On Thu, Sep 19, 2024 at 08:53:07PM -0300, James Almer wrote:
>> On 9/19/2024 7:56 PM, Michael Niedermayer wrote:
>>> Fixes: shift exponent 62 is too large for 32-bit type 'int'
>>> Fixes: 71020/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VVC_fuzzer-6444916325023744
>>>
>>> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
>>> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
>>> ---
>>> libavcodec/cbs_h266_syntax_template.c | 3 +++
>>> 1 file changed, 3 insertions(+)
>>>
>>> diff --git a/libavcodec/cbs_h266_syntax_template.c b/libavcodec/cbs_h266_syntax_template.c
>>> index a8f5af04d02..1c111126563 100644
>>> --- a/libavcodec/cbs_h266_syntax_template.c
>>> +++ b/libavcodec/cbs_h266_syntax_template.c
>>> @@ -1041,6 +1041,9 @@ static int FUNC(sps_range_extension)(CodedBitstreamContext *ctx, RWContext *rw,
>>> {
>>> int err;
>>> + if (current->sps_bitdepth_minus8 < 10)
>>
>> sps_bitdepth_minus8 can only be between 0 and 8, so this is basically making
>> it abort on any and every sample with SPS range extension.
>
> + if (current->sps_bitdepth_minus8 < 10 - 8)
Ok, this is different.
>
> Its supposed to check this:
> "When BitDepth is less
> than or equal to 10, the value of sps_range_extension_flag shall be equal to 0."
Should be "<= (10 - 8)" then, and LGTM.
>
>
>>
>> Also, it doesn't seem to be used here at all, so i don't see how this is
>> fixing anything. Can you share the sample?
>
> its used here:
> libavcodec/vvc/ctu.c: persistent_rice_adaptation_enabled_flag ? 2 * (av_log2(bit_depth - 10)) : 0;
>
> I can send you the file but i think this case is quite clear
>
> thx
>
> [...]
>
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20240919/6e090177/attachment.sig>
More information about the ffmpeg-devel
mailing list