Prevent OOB Read in Mfc_Transceive
Bug: 125900276
Test: Manual test/ Mifare Tag Read/Write
Exempt-From-Owner-Approval: Old Owners are all transferred to another BU
Change-Id: Id142d52ef682db4d4605d0e8e3d0516dacfd8d8a
(cherry picked from commit c881804750e233b4c09d702caa42af9e597448bb)
diff --git a/nci/jni/extns/pn54x/src/mifare/phNxpExtns_MifareStd.cpp b/nci/jni/extns/pn54x/src/mifare/phNxpExtns_MifareStd.cpp
index 5ce5844..9f04c18 100644
--- a/nci/jni/extns/pn54x/src/mifare/phNxpExtns_MifareStd.cpp
+++ b/nci/jni/extns/pn54x/src/mifare/phNxpExtns_MifareStd.cpp
@@ -1005,6 +1005,10 @@
EXTNS_SetCallBackFlag(true);
if (p_data[0] == 0x60 || p_data[0] == 0x61) {
+ if (len < 12) {
+ android_errorWriteLog(0x534e4554, "125900276");
+ return status;
+ }
NdefMap->Cmd.MfCmd = (phNfc_eMifareCmdList_t)p_data[0];
NdefMap->SendRecvBuf[i++] = p_data[1];