NFC: digital: Ensure no NAD byte in DEP_REQ and DEP_RES frames
According to chapter 14 of the NFC-DEP Digital Protocol Spec., the NAD byte should never be present in DEP_REQ or DEP_RES frames. However, this is not enforced so add that enforcement code. Reviewed-by: Thierry Escande <thierry.escande@linux.intel.com> Tested-by: Thierry Escande <thierry.escande@linux.intel.com> Signed-off-by: Mark A. Greer <mgreer@animalcreek.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
parent
05afedcb89
commit
3e6b0de805
1 changed files with 10 additions and 0 deletions
|
@ -420,6 +420,11 @@ static void digital_in_recv_dep_res(struct nfc_digital_dev *ddev, void *arg,
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (DIGITAL_NFC_DEP_NAD_BIT_SET(pfb)) {
|
||||||
|
rc = -EIO;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
|
||||||
if (size > resp->len) {
|
if (size > resp->len) {
|
||||||
rc = -EIO;
|
rc = -EIO;
|
||||||
goto error;
|
goto error;
|
||||||
|
@ -572,6 +577,11 @@ static void digital_tg_recv_dep_req(struct nfc_digital_dev *ddev, void *arg,
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (DIGITAL_NFC_DEP_NAD_BIT_SET(pfb)) {
|
||||||
|
rc = -EIO;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
|
||||||
if (size > resp->len) {
|
if (size > resp->len) {
|
||||||
rc = -EIO;
|
rc = -EIO;
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|
Loading…
Reference in a new issue