ladybird/Userland/Libraries/LibWeb/Fetch
Ben Wiederhake 3aeb57ed09 AK+Everywhere: Fix data corruption due to code-point-to-char conversion
In particular, StringView::contains(char) is often used with a u32
code point. When this is done, the compiler will for some reason allow
data corruption to occur silently.

In fact, this is one of two reasons for the following OSS Fuzz issue:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49184
This is probably a very old bug.

In the particular case of URLParser, AK::is_url_code_point got confused:
    return /* ... */ || "!$&'()*+,-./:;=?@_~"sv.contains(code_point);
If code_point is a large code point that happens to have the correct
lower bytes, AK::is_url_code_point is then convinced that the given
code point is okay, even if it is actually problematic.

This commit fixes *only* the silent data corruption due to the erroneous
conversion, and does not fully resolve OSS-Fuzz#49184.
2022-10-09 10:37:20 -06:00
..
Infrastructure AK+Everywhere: Fix data corruption due to code-point-to-char conversion 2022-10-09 10:37:20 -06:00
Body.cpp LibJS: Make PromiseCapability GC-allocated 2022-10-02 23:02:27 +01:00
Body.h LibWeb: Implement '5.3. Body mixin' from the Fetch API :^) 2022-09-27 14:56:17 +01:00
Body.idl LibWeb: Implement '5.3. Body mixin' from the Fetch API :^) 2022-09-27 14:56:17 +01:00
BodyInit.cpp LibWeb: Remove unecessary dependence on Window from assorted classes 2022-10-01 21:05:32 +01:00
BodyInit.h LibWeb: Support ReadonlyBytes as argument for extract_body() 2022-09-27 14:56:17 +01:00
BodyInit.idl LibWeb: Add BodyInit union type 2022-09-22 21:01:13 +01:00
Enums.cpp LibWeb: Implement '5.5. Response class' from the Fetch API :^) 2022-09-27 14:56:17 +01:00
Enums.h LibWeb: Implement '5.5. Response class' from the Fetch API :^) 2022-09-27 14:56:17 +01:00
Headers.cpp LibWeb: Remove unecessary dependence on Window from Fetch, XHR, FileAPI 2022-10-01 21:05:32 +01:00
Headers.h LibWeb: Remove unecessary dependence on Window from Fetch, XHR, FileAPI 2022-10-01 21:05:32 +01:00
Headers.idl LibWeb: Implement '5.1. Headers class' from the Fetch API :^) 2022-07-19 00:27:35 +01:00
HeadersIterator.cpp LibWeb: Remove unecessary dependence on Window from Fetch, XHR, FileAPI 2022-10-01 21:05:32 +01:00
HeadersIterator.h LibWeb: Remove WRAPPER_HACK() macro 2022-09-21 21:12:24 +01:00
Request.cpp LibWeb: Make Fetch::Infrastructure::{Request,Response} ref-counted 2022-10-05 09:14:49 +01:00
Request.h LibWeb: Make Fetch::Infrastructure::{Request,Response} ref-counted 2022-10-05 09:14:49 +01:00
Request.idl LibWeb: Implement '5.4. Request class' from the Fetch API :^) 2022-09-27 14:56:17 +01:00
Response.cpp BindingsGenerator+LibWeb: Pass a VM to static IDL-based functions 2022-10-06 21:45:07 +01:00
Response.h BindingsGenerator+LibWeb: Pass a VM to static IDL-based functions 2022-10-06 21:45:07 +01:00
Response.idl LibWeb: Implement '5.5. Response class' from the Fetch API :^) 2022-09-27 14:56:17 +01:00