Prevent Out of bounds write in rw_t3t_handle_get_sc_poll_rsp()
Test: Read T3T Tag
Bug: 120499324
Merged-In: I5f76f207d16ee744ec9be06e94034adf01727ac8
Change-Id: I5f76f207d16ee744ec9be06e94034adf01727ac8
(cherry picked from commit 1072729ca2d0fc5344774e0a6145e197788d6634)
diff --git a/src/nfc/tags/rw_t3t.c b/src/nfc/tags/rw_t3t.c
index b269beb..06fb714 100644
--- a/src/nfc/tags/rw_t3t.c
+++ b/src/nfc/tags/rw_t3t.c
@@ -1653,7 +1653,12 @@
BE_STREAM_TO_UINT16(sc, p);
RW_TRACE_DEBUG1("FeliCa detected (RD, system code %04X)", sc);
- p_cb->system_codes[p_cb->num_system_codes++] = sc;
+ if (p_cb->num_system_codes < T3T_MAX_SYSTEM_CODES) {
+ p_cb->system_codes[p_cb->num_system_codes++] = sc;
+ } else {
+ RW_TRACE_ERROR0("Exceed T3T_MAX_SYSTEM_CODES!");
+ android_errorWriteLog(0x534e4554, "120499324");
+ }
}
rw_t3t_handle_get_system_codes_cplt();