summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2014-01-11 16:52:41 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-01-13 16:12:01 +0100
commit738a2a04b6d863915ce2b2e2b8b7f380c00b2f01 (patch)
tree1f0f8faa4264e05f4a724f9524c358bf352758f4
parent706dca18d0a849dc867f3a6e2b8909e23d2b28ad (diff)
downloadffmpeg-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.c2
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;
}