Use safe buffer sizes when parsing network stats.
Change-Id: I1733c1ddc48f9410136aee7af7889fdc7be8cc10
diff --git a/core/jni/android_net_TrafficStats.cpp b/core/jni/android_net_TrafficStats.cpp
index bf963de..9e60904 100644
--- a/core/jni/android_net_TrafficStats.cpp
+++ b/core/jni/android_net_TrafficStats.cpp
@@ -80,7 +80,7 @@
return -1;
}
- char buffer[256];
+ char buffer[384];
char cur_iface[32];
bool foundTcp = false;
uint64_t rxBytes, rxPackets, txBytes, txPackets, tcpRxPackets, tcpTxPackets;
@@ -124,12 +124,12 @@
return -1;
}
- char buffer[256];
+ char buffer[384];
char iface[32];
uint32_t idx, cur_uid, set;
uint64_t tag, rxBytes, rxPackets, txBytes, txPackets;
- while (fgets(buffer, 256, fp) != NULL) {
+ while (fgets(buffer, sizeof(buffer), fp) != NULL) {
if (sscanf(buffer, "%d %31s 0x%llx %u %u %llu %llu %llu %llu", &idx,
iface, &tag, &cur_uid, &set, &rxBytes, &rxPackets, &txBytes,
&txPackets) == 9) {