media: vicodec: fix out-of-range values when decoding

While decoding you need to make sure you do not get values < 0
or > 255. Note that since this code will also be used in userspace
utilities the clamp macro isn't used since that is kernel-only.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
Hans Verkuil 2018-08-23 04:10:05 -04:00 коммит произвёл Mauro Carvalho Chehab
Родитель cd12b401ad
Коммит be5a1509af
1 изменённых файлов: 8 добавлений и 2 удалений

Просмотреть файл

@ -625,8 +625,14 @@ static void fill_decoder_block(u8 *dst, const s16 *input, int stride)
int i, j;
for (i = 0; i < 8; i++) {
for (j = 0; j < 8; j++)
*dst++ = *input++;
for (j = 0; j < 8; j++, input++, dst++) {
if (*input < 0)
*dst = 0;
else if (*input > 255)
*dst = 255;
else
*dst = *input;
}
dst += stride - 8;
}
}