4.14-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Hans Verkuil <hverkuil-ci...@xs4all.nl>

commit e5f71a27fa12c1a1b02ad478a568e76260f1815e upstream.

text[s] is a signed char, so using that as index into the font8x16 array
can result in negative indices. Cast it to u8 to be safe.

Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>
Reported-by: syzbot+ccf0a61ed12f2a731...@syzkaller.appspotmail.com
Cc: <sta...@vger.kernel.org>      # for v4.7 and up
Signed-off-by: Mauro Carvalho Chehab <mchehab+sams...@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 drivers/media/common/v4l2-tpg/v4l2-tpg-core.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c
+++ b/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c
@@ -1733,7 +1733,7 @@ typedef struct { u16 __; u8 _; } __packe
                unsigned s;     \
        \
                for (s = 0; s < len; s++) {     \
-                       u8 chr = font8x16[text[s] * 16 + line]; \
+                       u8 chr = font8x16[(u8)text[s] * 16 + line];     \
        \
                        if (hdiv == 2 && tpg->hflip) { \
                                pos[3] = (chr & (0x01 << 6) ? fg : bg); \


Reply via email to