diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2014-01-11 16:52:41 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-01-13 16:12:01 +0100 |
commit | 738a2a04b6d863915ce2b2e2b8b7f380c00b2f01 (patch) | |
tree | 1f0f8faa4264e05f4a724f9524c358bf352758f4 | |
parent | 706dca18d0a849dc867f3a6e2b8909e23d2b28ad (diff) | |
download | ffmpeg-738a2a04b6d863915ce2b2e2b8b7f380c00b2f01.tar.gz |
hevc: Clip the pixel before shifting
Prevent an out of array bound read.
Fixes: asan_stack-oob_eae8e3_7333_WPP_B_ericsson_MAIN10_2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5856bca360c5bc3e340a357d91b1f993c80a7bea)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/hevcdsp_template.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/hevcdsp_template.c b/libavcodec/hevcdsp_template.c index bda1dee757..0570002e40 100644 --- a/libavcodec/hevcdsp_template.c +++ b/libavcodec/hevcdsp_template.c @@ -391,7 +391,7 @@ static void FUNC(sao_band_filter)(uint8_t *_dst, uint8_t *_src, offset_table[(k + sao_left_class) & 31] = sao_offset_val[k + 1]; for (y = 0; y < height; y++) { for (x = 0; x < width; x++) - dst[x] = av_clip_pixel(src[x] + offset_table[av_clip_pixel(src[x] >> shift)]); + dst[x] = av_clip_pixel(src[x] + offset_table[av_clip_pixel(src[x]) >> shift]); dst += stride; src += stride; } |