commit | fe93f1262d7a73080fbabacd0c800faa7c2d73e3 | [log] [tgz] |
---|---|---|
author | William Loh <wloh@google.com> | Mon Jun 03 12:56:47 2024 -0700 |
committer | Cherrypicker Worker <android-build-cherrypicker-worker@google.com> | Thu Jun 13 23:06:36 2024 +0000 |
tree | 594732ceccb58e9a856a0d5661e5f3c3bd44f8e1 | |
parent | 8e5af38344b00da10dd183cd6220b996e062dc86 [diff] |
Fail parseUri if end is missing Bug: 318683126 Test: atest IntentTest Flag: EXEMPT bugfix (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:b85bee508793e31d6fe37fc9cd4e8fa3787113cc) Merged-In: I5f619ced684ff505ce2b7408cd35dd3e9be89dea Change-Id: I5f619ced684ff505ce2b7408cd35dd3e9be89dea
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index e763e95..6f44a77 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java
@@ -7855,6 +7855,9 @@ int eq = uri.indexOf('=', i); if (eq < 0) eq = i-1; int semi = uri.indexOf(';', i); + if (semi < 0) { + throw new URISyntaxException(uri, "uri end not found"); + } String value = eq < semi ? Uri.decode(uri.substring(eq + 1, semi)) : ""; // action