Эх сурвалжийг харах

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>
Samuel Ortiz 12 жил өмнө
parent
commit
ea87a5efa9
1 өөрчлөгдсөн 3 нэмэгдсэн , 0 устгасан
  1. 3 0
      drivers/nfc/pn533.c

+ 3 - 0
drivers/nfc/pn533.c

@@ -521,6 +521,9 @@ static bool pn533_acr122_is_rx_frame_valid(void *_frame, struct pn533 *dev)
 	if (frame->ccid.type != 0x83)
 		return false;
 
+	if (!frame->ccid.datalen)
+		return false;
+
 	if (frame->data[frame->ccid.datalen - 2] == 0x63)
 		return false;