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;
|
||||
}
|
||||
|
||||
if (DIGITAL_NFC_DEP_NAD_BIT_SET(pfb)) {
|
||||
rc = -EIO;
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if (size > resp->len) {
|
||||
rc = -EIO;
|
||||
goto error;
|
||||
|
@ -572,6 +577,11 @@ static void digital_tg_recv_dep_req(struct nfc_digital_dev *ddev, void *arg,
|
|||
goto exit;
|
||||
}
|
||||
|
||||
if (DIGITAL_NFC_DEP_NAD_BIT_SET(pfb)) {
|
||||
rc = -EIO;
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if (size > resp->len) {
|
||||
rc = -EIO;
|
||||
goto exit;
|
||||
|
|
Loading…
Reference in a new issue