From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: William Loh Date: Mon, 3 Jun 2024 12:56:47 -0700 Subject: [PATCH] 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) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:77c140c674ec1cec011989f4a2c2666949771370) Merged-In: I5f619ced684ff505ce2b7408cd35dd3e9be89dea Change-Id: I5f619ced684ff505ce2b7408cd35dd3e9be89dea --- core/java/android/content/Intent.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index 6224758ce71a..ec67c7239df2 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -7322,6 +7322,9 @@ public class Intent implements Parcelable, Cloneable { 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