diff options
| -rw-r--r-- | drivers/char/diag/diag_dci.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/char/diag/diag_dci.c b/drivers/char/diag/diag_dci.c index f2eb9b285c67..e043b08a3467 100644 --- a/drivers/char/diag/diag_dci.c +++ b/drivers/char/diag/diag_dci.c @@ -1939,7 +1939,9 @@ static int diag_process_dci_pkt_rsp(unsigned char *buf, int len) if (!buf) return -EIO; - if (len <= sizeof(struct dci_pkt_req_t) || len > DCI_REQ_BUF_SIZE) { + if (len <= (sizeof(struct dci_pkt_req_t) + + sizeof(struct diag_pkt_header_t)) || + len > DCI_REQ_BUF_SIZE) { pr_err("diag: dci: Invalid length %d len in %s", len, __func__); return -EIO; } |
