> I fixed sun.net.www.ParseUtil.decode(). > > ParseUtil.decode() always tries to decode after parsing '%', so if '%' is > located at the end of the String, IndexOutOfBoundsException is thrown. Also, > if '%' is shown after decodable string and following string is not decodable > (e.g: "%25%s%G1"), ParseUtil.decode() throws IllegalArgumentException. > > But URL standard says below (https://url.spec.whatwg.org/#percent-decode). > > > Otherwise, if byte is 0x25 (%) and the next two bytes after byte in input are > not in the ranges > 0x30 (0) to 0x39 (9), 0x41 (A) to 0x46 (F), and 0x61 (a) to 0x66 (f), all > inclusive, append byte to output. > > > So, there should be used isEscaped() to judge to decode. > > Would you please review this fix?
KIRIYAMA Takuya has updated the pull request incrementally with one additional commit since the last revision: 8282395: URL.openConnection can throw IOOBE ------------- Changes: - all: https://git.openjdk.org/jdk/pull/8155/files - new: https://git.openjdk.org/jdk/pull/8155/files/28849591..fc84ffc9 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=8155&range=02 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=8155&range=01-02 Stats: 27 lines in 3 files changed: 10 ins; 12 del; 5 mod Patch: https://git.openjdk.org/jdk/pull/8155.diff Fetch: git fetch https://git.openjdk.org/jdk pull/8155/head:pull/8155 PR: https://git.openjdk.org/jdk/pull/8155