diff options
| -rw-r--r-- | drivers/misc/issei/ham.c | 6 |
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); |
