NDEF Type 3 tag reading with padding bytes

NDEF Type 3 tag reading was not ignoring the padding bytes, which
leads to failure of parsing the NDEF data. This patch fix that problem.

Bug: 7600630
Change-Id: I45cf1841bdc343503a8a12d622ac8470c3e64ce4
diff --git a/src/phFriNfc_FelicaMap.c b/src/phFriNfc_FelicaMap.c
index 8a810f9..39b98d9 100644
--- a/src/phFriNfc_FelicaMap.c
+++ b/src/phFriNfc_FelicaMap.c
@@ -631,6 +631,7 @@
     NFCSTATUS status = NFCSTATUS_PENDING;
     uint8_t ResetFlag = FALSE;
     uint32_t Nbc = 0;
+    uint32_t DataLen = 0;
 
     Nbc = phFriNfc_Felica_HGetMaximumBlksToRead(NdefMap,PH_NFCFRI_NDEFMAP_FELI_NBC);
 
@@ -733,7 +734,18 @@
         }
         if ( ResetFlag == TRUE)
         {
-            *NdefMap->NumOfBytesRead = NdefMap->ApduBuffIndex;
+            PH_NFCFRI_NDEFMAP_FELI_CAL_LEN_BYTES(NdefMap->FelicaAttrInfo.LenBytes[0],
+                                                                NdefMap->FelicaAttrInfo.LenBytes[1],
+                                                                NdefMap->FelicaAttrInfo.LenBytes[2],
+                                                                DataLen);
+            if (NdefMap->ApduBuffIndex > DataLen)
+            {
+                *NdefMap->NumOfBytesRead = DataLen;
+            }
+            else
+            {
+                *NdefMap->NumOfBytesRead = NdefMap->ApduBuffIndex;
+            }
                                 /*Reset the index, internal buffer counters back to zero*/
                                 NdefMap->ApduBuffIndex = 0;
                                 NdefMap->Felica.Rd_NoBytesToCopy=0;