summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/misc/issei/ham.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/misc/issei/ham.c b/drivers/misc/issei/ham.c
index 17eae91f077d..674d9733d16c 100644
--- a/drivers/misc/issei/ham.c
+++ b/drivers/misc/issei/ham.c
@@ -132,6 +132,12 @@ static int __issei_ham_process_ham_rsp(struct issei_device *idev, const u8 *buf,
{
struct ham_bus_message *hdr = (struct ham_bus_message *)buf;
+ if (length < sizeof(*hdr)) {
+ dev_err(&idev->dev, "Small bus message size %zu < %zu\n",
+ length, sizeof(*hdr));
+ return -EPROTO;
+ }
+
switch (hdr->cmd) {
case HAM_BUS_CMD_START_RSP:
return issei_ham_start_rsp(idev, buf, length);