ladybird/Userland
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
..
Applets Userland: Tighten promises by removing 'proc' where it isn't used 2022-10-03 17:09:21 +01:00
Applications Browser: Add a custom icon for the "New Window" action 2022-10-06 20:51:04 +02:00
Demos Userland: Unveil /proc/all in applications which require it 2022-10-03 17:09:21 +01:00
DevTools HackStudio: Use a single global tooltip window 2022-10-06 21:27:40 +01:00
DynamicLoader LibPthread: Implement named semaphores 2022-07-21 16:39:22 +02:00
Games Userland: Tighten promises by removing 'proc' where it isn't used 2022-10-03 17:09:21 +01:00
Libraries AK+Everywhere: Fix data corruption due to code-point-to-char conversion 2022-10-09 10:37:20 -06:00
Services Taskbar: Display an icon for removing a widget 2022-10-09 10:20:47 +02:00
Shell AK+Everywhere: Replace "protocol" with "scheme" url helpers 2022-09-29 09:39:04 +01:00
Utilities AK+Everywhere: Fix data corruption due to code-point-to-char conversion 2022-10-09 10:37:20 -06:00
CMakeLists.txt Meta+Userland: Add ENABLE_USERSPACE_COVERAGE_COLLECTION CMake option 2022-05-02 01:46:18 +02:00