Input: joydev - prevent potential read overflow in ioctl
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 17 Feb 2021 20:21:10 +0000 (12:21 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Mar 2021 10:38:23 +0000 (11:38 +0100)
commitdeced3e2aea9195f018bcad0146619e880ee7c0e
tree6230caf938e4010010177d93e77f616bc764e3f3
parent18fca2909171c7cbd1d775be692d9396907ef1aa
Input: joydev - prevent potential read overflow in ioctl

commit 182d679b2298d62bf42bb14b12a8067b8e17b617 upstream.

The problem here is that "len" might be less than "joydev->nabs" so the
loops which verfy abspam[i] and keypam[] might read beyond the buffer.

Fixes: 999b874f4aa3 ("Input: joydev - validate axis/button maps before clobbering current ones")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/YCyzR8WvFRw4HWw6@mwanda
[dtor: additional check for len being even in joydev_handle_JSIOCSBTNMAP]
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/input/joydev.c