commit | f5ddb6192300608fadc6b1a07915d4000ea9c808 | [log] [tgz] |
---|---|---|
author | Junyu Lai <junyulai@google.com> | Wed Sep 01 07:36:14 2021 +0000 |
committer | Aaron Huang <huangaaron@google.com> | Wed Sep 08 04:12:31 2021 +0000 |
tree | f955a079a202901a11703697323a6f2cac3e0c74 | |
parent | 0c4bbd7b0124784bf998260bbbca6b67bf57d7f3 [diff] |
NetworkStats: Avoid Division By 0 RawBytes should always be at least 1 to avoid division by 0 and ArithmeticException resulting in Settings crash. Bug: 197292638 Change-Id: I4e5ac9da7adf707d7f991483555ab5c6d0cc3245 Merged-In: I4e5ac9da7adf707d7f991483555ab5c6d0cc3245 (cherry picked from commit 49fb7e6da2ba08ead42d625b1aafa41a06fa45c2)
diff --git a/services/core/java/com/android/server/net/NetworkStatsCollection.java b/services/core/java/com/android/server/net/NetworkStatsCollection.java index 557fa89..df372b1 100644 --- a/services/core/java/com/android/server/net/NetworkStatsCollection.java +++ b/services/core/java/com/android/server/net/NetworkStatsCollection.java
@@ -290,7 +290,8 @@ combined.getValues(augmentStart, augmentEnd, entry); } - final long rawBytes = entry.rxBytes + entry.txBytes; + final long rawBytes = (entry.rxBytes + entry.txBytes) == 0 ? 1 : + (entry.rxBytes + entry.txBytes); final long rawRxBytes = entry.rxBytes == 0 ? 1 : entry.rxBytes; final long rawTxBytes = entry.txBytes == 0 ? 1 : entry.txBytes; final long targetBytes = augmentPlan.getDataUsageBytes();