Recover from corrupt network stats.
When encountering corrupt stats, throw as IOException to allow recovery at a higher level. Bug: 9794832 Change-Id: I38d000b3bd8a4c99389c40a87ee0699efb6e9049
This commit is contained in:
@@ -639,6 +639,7 @@ public class NetworkStatsHistory implements Parcelable {
|
|||||||
@Deprecated
|
@Deprecated
|
||||||
public static long[] readFullLongArray(DataInputStream in) throws IOException {
|
public static long[] readFullLongArray(DataInputStream in) throws IOException {
|
||||||
final int size = in.readInt();
|
final int size = in.readInt();
|
||||||
|
if (size < 0) throw new ProtocolException("negative array size");
|
||||||
final long[] values = new long[size];
|
final long[] values = new long[size];
|
||||||
for (int i = 0; i < values.length; i++) {
|
for (int i = 0; i < values.length; i++) {
|
||||||
values[i] = in.readLong();
|
values[i] = in.readLong();
|
||||||
@@ -680,6 +681,7 @@ public class NetworkStatsHistory implements Parcelable {
|
|||||||
public static long[] readVarLongArray(DataInputStream in) throws IOException {
|
public static long[] readVarLongArray(DataInputStream in) throws IOException {
|
||||||
final int size = in.readInt();
|
final int size = in.readInt();
|
||||||
if (size == -1) return null;
|
if (size == -1) return null;
|
||||||
|
if (size < 0) throw new ProtocolException("negative array size");
|
||||||
final long[] values = new long[size];
|
final long[] values = new long[size];
|
||||||
for (int i = 0; i < values.length; i++) {
|
for (int i = 0; i < values.length; i++) {
|
||||||
values[i] = readVarLong(in);
|
values[i] = readVarLong(in);
|
||||||
|
|||||||
Reference in New Issue
Block a user