]> git.baikalelectronics.ru Git - kernel.git/commit
net: nfc: fix bounds checking bugs on "pipe"
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 4 Mar 2020 14:24:31 +0000 (17:24 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Mar 2020 06:17:41 +0000 (07:17 +0100)
commit31a1780d811c1d7f13711b25fc24ac516a5d2b06
tree7bab9475a5cfb6f9179310b247d719d339649ba4
parent0511dd67ac85fc5b4c8c2353165e0d437b5903ab
net: nfc: fix bounds checking bugs on "pipe"

[ Upstream commit 395fa38e50ffdac88f78248372d70d5bbe9ed066 ]

This is similar to commit c1609579a421 ("NFC: Fix possible memory
corruption when handling SHDLC I-Frame commands") and commit 1f596720b2eb
("NFC: nci: Add some bounds checking in nci_hci_cmd_received()") which
added range checks on "pipe".

The "pipe" variable comes skb->data[0] in nfc_hci_msg_rx_work().
It's in the 0-255 range.  We're using it as the array index into the
hdev->pipes[] array which has NFC_HCI_MAX_PIPES (128) members.

Fixes: 44a23a6c34c2 ("NFC: hci: Add pipes table to reference them with a tuple {gate, host}")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/nfc/hci/core.c