Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)

Bug: 166295507
Merged-In: I9a27d70c6b9cbc85956dcd7db0a44a827239135d
Change-Id: I6c989df8c8bcfbac6c5d1c14d2876de20192759b
diff --git a/halimpl/hal/phNxpNciHal.cc b/halimpl/hal/phNxpNciHal.cc
index f72fd25..f9a482d 100644
--- a/halimpl/hal/phNxpNciHal.cc
+++ b/halimpl/hal/phNxpNciHal.cc
@@ -935,7 +935,10 @@
   nxpncihal_ctrl.cmd_len = data_len;
 #ifdef P2P_PRIO_LOGIC_HAL_IMP
   /* Specific logic to block RF disable when P2P priority logic is busy */
-  if (p_data[0] == 0x21 && p_data[1] == 0x06 && p_data[2] == 0x01 &&
+  if (data_len < NORMAL_MODE_HEADER_LEN) {
+  /* Avoid OOB Read */
+    android_errorWriteLog(0x534e4554, "128530069");
+  } else if (p_data[0] == 0x21 && p_data[1] == 0x06 && p_data[2] == 0x01 &&
       EnableP2P_PrioLogic == true) {
     NXPLOG_NCIHAL_D("P2P priority logic busy: Disable it.");
     phNxpNciHal_clean_P2P_Prio();
diff --git a/halimpl/hal/phNxpNciHal_ext.cc b/halimpl/hal/phNxpNciHal_ext.cc
old mode 100755
new mode 100644
index a9c88a8..6e10773
--- a/halimpl/hal/phNxpNciHal_ext.cc
+++ b/halimpl/hal/phNxpNciHal_ext.cc
@@ -676,8 +676,7 @@
     }
   }
 
-  if (*cmd_len <= (NCI_MAX_DATA_LEN - 3) &&
-      bEnableMfcReader && p_cmd_data[0] == 0x21 && p_cmd_data[1] == 0x00) {
+  if (bEnableMfcReader && p_cmd_data[0] == 0x21 && p_cmd_data[1] == 0x00) {
     NXPLOG_NCIHAL_D("Going through extns - Adding Mifare in RF Discovery");
     p_cmd_data[2] += 3;
     p_cmd_data[3] += 1;
@@ -788,8 +787,7 @@
     phNxpNciHal_print_packet("RECV", p_rsp_data, 5);
     //        status = NFCSTATUS_FAILED;
     NXPLOG_NCIHAL_D("> Going through workaround - Dirty Set Config - End ");
-  } else if (*cmd_len <= (NCI_MAX_DATA_LEN - 3) &&
-             p_cmd_data[0] == 0x21 && p_cmd_data[1] == 0x00) {
+  } else if (p_cmd_data[0] == 0x21 && p_cmd_data[1] == 0x00) {
     NXPLOG_NCIHAL_D(
         "> Going through workaround - Add Mifare Classic in Discovery Map");
     p_cmd_data[*cmd_len] = 0x80;