summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorAdam Vartanian <flooey@google.com>2018-02-01 10:02:42 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-02-01 10:02:42 +0000
commit5ed5d15e66de4ceca239d559ccc06d6588b1c0b4 (patch)
tree8e19fcebf015602f5a5bfebe98c1614a272c3166 /core/java
parent5ec65ae909a85d13d03c030be357c8c14a50d306 (diff)
parentfa3afbd0e7a9a0d8fc8c55ceefdb4ddf9d0115af (diff)
Merge "Adjust URI host parsing to stop on \ character." into lmp-mr1-dev
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/net/Uri.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/core/java/android/net/Uri.java b/core/java/android/net/Uri.java
index 0f9c03ecb9ca..8fb59af3e022 100644
--- a/core/java/android/net/Uri.java
+++ b/core/java/android/net/Uri.java
@@ -714,6 +714,10 @@ public abstract class Uri implements Parcelable, Comparable<Uri> {
LOOP: while (end < length) {
switch (uriString.charAt(end)) {
case '/': // Start of path
+ case '\\':// Start of path
+ // Per http://url.spec.whatwg.org/#host-state, the \ character
+ // is treated as if it were a / character when encountered in a
+ // host
case '?': // Start of query
case '#': // Start of fragment
break LOOP;
@@ -752,6 +756,10 @@ public abstract class Uri implements Parcelable, Comparable<Uri> {
case '#': // Start of fragment
return ""; // Empty path.
case '/': // Start of path!
+ case '\\':// Start of path!
+ // Per http://url.spec.whatwg.org/#host-state, the \ character
+ // is treated as if it were a / character when encountered in a
+ // host
break LOOP;
}
pathStart++;