]> git.baikalelectronics.ru Git - kernel.git/commitdiff
media: cros-ec-cec: limit msg.len to CEC_MAX_MSG_SIZE
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Wed, 24 Aug 2022 07:06:19 +0000 (09:06 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Nov 2022 16:57:53 +0000 (17:57 +0100)
[ Upstream commit 9389d38f871fc6f94caab479862a1aecbbc9f7ed ]

I expect that the hardware will have limited this to 16, but just in
case it hasn't, check for this corner case.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/platform/cros-ec-cec/cros-ec-cec.c

index 31390ce2dbf2d4f3c1243ac1f8181d5e310da720..ae274a7aa3a94884c59f564e458458a32d4ce182 100644 (file)
@@ -45,6 +45,8 @@ static void handle_cec_message(struct cros_ec_cec *cros_ec_cec)
        uint8_t *cec_message = cros_ec->event_data.data.cec_message;
        unsigned int len = cros_ec->event_size;
 
+       if (len > CEC_MAX_MSG_SIZE)
+               len = CEC_MAX_MSG_SIZE;
        cros_ec_cec->rx_msg.len = len;
        memcpy(cros_ec_cec->rx_msg.msg, cec_message, len);