mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
avcodec/hevc_ps: Fix undefined shift in pcm code
Fixes: runtime error: shift exponent -1 is negative Fixes: 3091/clusterfuzz-testcase-minimized-6229767969832960 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 2a83866c9f9531eb096c9b9fe0550e742b931ad1) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
b5f0302eeb
commit
25ff26aaac
@ -1026,10 +1026,10 @@ int ff_hevc_parse_sps(HEVCSPS *sps, GetBitContext *gb, unsigned int *sps_id,
|
|||||||
sps->pcm.log2_min_pcm_cb_size = get_ue_golomb_long(gb) + 3;
|
sps->pcm.log2_min_pcm_cb_size = get_ue_golomb_long(gb) + 3;
|
||||||
sps->pcm.log2_max_pcm_cb_size = sps->pcm.log2_min_pcm_cb_size +
|
sps->pcm.log2_max_pcm_cb_size = sps->pcm.log2_min_pcm_cb_size +
|
||||||
get_ue_golomb_long(gb);
|
get_ue_golomb_long(gb);
|
||||||
if (sps->pcm.bit_depth > sps->bit_depth) {
|
if (FFMAX(sps->pcm.bit_depth, sps->pcm.bit_depth_chroma) > sps->bit_depth) {
|
||||||
av_log(avctx, AV_LOG_ERROR,
|
av_log(avctx, AV_LOG_ERROR,
|
||||||
"PCM bit depth (%d) is greater than normal bit depth (%d)\n",
|
"PCM bit depth (%d, %d) is greater than normal bit depth (%d)\n",
|
||||||
sps->pcm.bit_depth, sps->bit_depth);
|
sps->pcm.bit_depth, sps->pcm.bit_depth_chroma, sps->bit_depth);
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user