diff mbox series

[PATCHv2,8/7] codec-fwht: fix out-of-range values when decoding

Message ID b84cc6b3-74e3-b0aa-6949-f05c781b927d@xs4all.nl (mailing list archive)
State New, archived
Headers show
Series vicodec improvements | expand

Commit Message

Hans Verkuil Aug. 23, 2018, 8:10 a.m. UTC
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>
---
 drivers/media/platform/vicodec/codec-fwht.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/drivers/media/platform/vicodec/codec-fwht.c b/drivers/media/platform/vicodec/codec-fwht.c
index f91f90f7e5fc..47939160560e 100644
--- a/drivers/media/platform/vicodec/codec-fwht.c
+++ b/drivers/media/platform/vicodec/codec-fwht.c
@@ -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;
 	}
 }