From: Mark Greer Date: Thu, 15 Jun 2017 17:46:15 +0000 (-0700) Subject: NFC: digital: NFC-A SEL_RES must be one byte X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=7f9f171336baec8ec71d57b6d329bf8cea5c1562;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git NFC: digital: NFC-A SEL_RES must be one byte Section 4.8.2 (SEL_RES Response) of NFC Forum's NFC Digital Protocol Technical Specification dated 2010-11-17 clearly states that the size of a SEL_RES Response is one byte. Enforce this restriction in the code. Signed-off-by: Mark Greer Signed-off-by: Samuel Ortiz --- diff --git a/net/nfc/digital_technology.c b/net/nfc/digital_technology.c index 3cc3448da524..2021d1d58a75 100644 --- a/net/nfc/digital_technology.c +++ b/net/nfc/digital_technology.c @@ -27,6 +27,7 @@ #define DIGITAL_SDD_RES_CT 0x88 #define DIGITAL_SDD_RES_LEN 5 +#define DIGITAL_SEL_RES_LEN 1 #define DIGITAL_SEL_RES_NFCID1_COMPLETE(sel_res) (!((sel_res) & 0x04)) #define DIGITAL_SEL_RES_IS_T2T(sel_res) (!((sel_res) & 0x60)) @@ -299,7 +300,7 @@ static void digital_in_recv_sel_res(struct nfc_digital_dev *ddev, void *arg, } } - if (!resp->len) { + if (resp->len != DIGITAL_SEL_RES_LEN) { rc = -EIO; goto exit; }