Loading core/java/android/net/Uri.java +5 −1 Original line number Diff line number Diff line Loading @@ -1388,7 +1388,11 @@ public abstract class Uri implements Parcelable, Comparable<Uri> { * @param scheme name or {@code null} if this is a relative Uri */ public Builder scheme(String scheme) { this.scheme = scheme; if (scheme != null) { this.scheme = scheme.replace("://", ""); } else { this.scheme = null; } return this; } Loading core/tests/coretests/src/android/net/UriTest.java +11 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.net; import android.content.ContentUris; import android.os.Parcel; import android.platform.test.annotations.AsbSecurityTest; import androidx.test.filters.SmallTest; Loading Loading @@ -88,6 +89,16 @@ public class UriTest extends TestCase { assertNull(u.getHost()); } @AsbSecurityTest(cveBugId = 261721900) @SmallTest public void testSchemeSanitization() { Uri uri = new Uri.Builder() .scheme("http://https://evil.com:/te:st/") .authority("google.com").path("one/way").build(); assertEquals("httphttpsevil.com:/te:st/", uri.getScheme()); assertEquals("httphttpsevil.com:/te:st/://google.com/one/way", uri.toString()); } @SmallTest public void testStringUri() { assertEquals("bob lee", Loading Loading
core/java/android/net/Uri.java +5 −1 Original line number Diff line number Diff line Loading @@ -1388,7 +1388,11 @@ public abstract class Uri implements Parcelable, Comparable<Uri> { * @param scheme name or {@code null} if this is a relative Uri */ public Builder scheme(String scheme) { this.scheme = scheme; if (scheme != null) { this.scheme = scheme.replace("://", ""); } else { this.scheme = null; } return this; } Loading
core/tests/coretests/src/android/net/UriTest.java +11 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.net; import android.content.ContentUris; import android.os.Parcel; import android.platform.test.annotations.AsbSecurityTest; import androidx.test.filters.SmallTest; Loading Loading @@ -88,6 +89,16 @@ public class UriTest extends TestCase { assertNull(u.getHost()); } @AsbSecurityTest(cveBugId = 261721900) @SmallTest public void testSchemeSanitization() { Uri uri = new Uri.Builder() .scheme("http://https://evil.com:/te:st/") .authority("google.com").path("one/way").build(); assertEquals("httphttpsevil.com:/te:st/", uri.getScheme()); assertEquals("httphttpsevil.com:/te:st/://google.com/one/way", uri.toString()); } @SmallTest public void testStringUri() { assertEquals("bob lee", Loading