NFC: pn533: Frame is invalid if ccid.datalen is 0
Some ACR122 firmwares seem to send 0 length data frames. Before using that length as a data index, we check that it's not 0. If it is we report the frame as being invalid. Reported-by: Arthur Taylor <arthur@advancedtelematic.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
Родитель
a434c24074
Коммит
ea87a5efa9
|
@ -521,6 +521,9 @@ static bool pn533_acr122_is_rx_frame_valid(void *_frame, struct pn533 *dev)
|
||||||
if (frame->ccid.type != 0x83)
|
if (frame->ccid.type != 0x83)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if (!frame->ccid.datalen)
|
||||||
|
return false;
|
||||||
|
|
||||||
if (frame->data[frame->ccid.datalen - 2] == 0x63)
|
if (frame->data[frame->ccid.datalen - 2] == 0x63)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче