summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2019-04-03 11:42:25 -0700
committerRoshan Pius <rpius@google.com>2019-04-03 14:20:41 -0700
commitb4fd6ea8afc6265f4da0365d030915b12001e1a1 (patch)
treea9bab9770e624dc266552c2f3309091edfe47044
parente9d2b772127293d4f36ef9e2727b3ceb97ea69af (diff)
TelephonyUtil: Verify that all length values parsed are > 0
Bug: 129867406 Test: atest com.android.server.wifi Change-Id: Ie161a070fe4d7447bc38e5612040e4c6a6299222
-rw-r--r--service/java/com/android/server/wifi/util/TelephonyUtil.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/service/java/com/android/server/wifi/util/TelephonyUtil.java b/service/java/com/android/server/wifi/util/TelephonyUtil.java
index 56929406d..873fda528 100644
--- a/service/java/com/android/server/wifi/util/TelephonyUtil.java
+++ b/service/java/com/android/server/wifi/util/TelephonyUtil.java
@@ -485,7 +485,7 @@ public class TelephonyUtil {
byte[] result = Base64.decode(tmResponse, Base64.DEFAULT);
Log.v(TAG, "Hex Response -" + makeHex(result));
int sresLen = result[0];
- if (sresLen >= result.length) {
+ if (sresLen < 0 || sresLen >= result.length) {
Log.e(TAG, "malformed response - " + tmResponse);
return null;
}
@@ -496,7 +496,7 @@ public class TelephonyUtil {
return null;
}
int kcLen = result[kcOffset];
- if (kcOffset + kcLen > result.length) {
+ if (kcLen < 0 || kcOffset + kcLen > result.length) {
Log.e(TAG, "malformed response - " + tmResponse);
return null;
}