LibURL: Fail parsing IPV4 URLs starting with 0x that overflow

Parsing last as an IPV4 number was not returning true in "ends with a
number" as the parsing of that part was overflowing. This means that the
URL is not considered to be an IPv4 address, and is treated as a valid
domain.

Helpfully, the spec also points out in a note that this step is
equivalent to simply checking that the last part ends with 0x followed
by only hex digits - which doesn't suffer from any overflow problem!

Arguably this is an editorial issue in the spec where this should be
clarified a little bit. But for now, fixing this fixes 3 sub tests in
WPT for:

https://wpt.live/url/url-constructor.any.html
This commit is contained in:
Shannon Booth 2024-08-07 03:06:57 +12:00 committed by Tim Ledbetter
commit 6cac2981fb
Notes: github-actions[bot] 2024-08-06 22:09:02 +00:00
3 changed files with 5 additions and 1 deletions

View file

@ -3,6 +3,7 @@
test(() => {
const urls = [
{ input: 'file://xn--/p' },
{ input: 'http://0xffffffff1' },
];
for (url of urls) {