[FFmpeg-cvslog] avcodec/hevc_ps: Fix undefined shift in pcm code
Michael Niedermayer
git at videolan.org
Thu Oct 26 20:11:20 EEST 2017
ffmpeg | branch: release/3.0 | Michael Niedermayer <michael at niedermayer.cc> | Sun Aug 27 23:59:09 2017 +0200| [51ee15df5813c6e6225b7dcb74e085eb782e60af] | committer: Michael Niedermayer
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 at niedermayer.cc>
(cherry picked from commit 2a83866c9f9531eb096c9b9fe0550e742b931ad1)
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=51ee15df5813c6e6225b7dcb74e085eb782e60af
---
libavcodec/hevc_ps.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c
index 49308b363f..2383d18b21 100644
--- a/libavcodec/hevc_ps.c
+++ b/libavcodec/hevc_ps.c
@@ -999,10 +999,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_max_pcm_cb_size = sps->pcm.log2_min_pcm_cb_size +
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,
- "PCM bit depth (%d) is greater than normal bit depth (%d)\n",
- sps->pcm.bit_depth, sps->bit_depth);
+ "PCM bit depth (%d, %d) is greater than normal bit depth (%d)\n",
+ sps->pcm.bit_depth, sps->pcm.bit_depth_chroma, sps->bit_depth);
return AVERROR_INVALIDDATA;
}
More information about the ffmpeg-cvslog
mailing list