commit | 5a5866cd0b5b2b4fd08166b60d2a5e572ef619cb | [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 | d970a9ad7e40acd774d074d9425919eebbcaf4ea [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 93581a034784f7473798e836f52c890a265dfc8b)
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();