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
..
2022-09-22 14:39:24 +01:00
2022-09-18 13:27:24 -04:00
2022-09-02 22:47:28 +01:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-10-02 23:02:27 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-10-02 23:02:27 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-10-02 23:02:27 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-10-02 23:02:27 +01:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-16 05:39:28 +00:00
2022-08-29 03:24:54 +02:00
2022-08-26 19:18:26 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-23 13:58:30 +01:00
2022-08-29 03:24:54 +02:00
2022-10-01 15:36:20 +01:00
2022-07-20 21:25:59 +01:00
2022-10-02 23:02:27 +01:00
2022-08-23 13:58:30 +01:00
2022-09-21 20:03:49 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-17 18:53:14 +02:00
2022-08-29 03:24:54 +02:00
2022-09-05 14:37:16 -04:00
2022-08-29 03:24:54 +02:00
2022-09-02 02:07:37 +01:00
2022-09-18 13:27:24 -04:00
2022-10-02 23:02:27 +01:00
2022-08-29 03:24:54 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-07-26 10:46:08 -07:00
2022-09-06 00:27:09 +02:00
2022-10-02 23:02:27 +01:00
2022-09-03 00:36:26 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-23 13:58:30 +01:00
2022-08-29 03:24:54 +02:00
2022-08-23 13:58:30 +01:00
2022-09-15 09:45:13 +02:00
2022-09-15 09:45:13 +02:00
2022-09-15 09:45:13 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-28 16:36:56 +01:00
2022-08-29 03:24:54 +02:00
2022-10-09 10:37:20 -06:00
2022-08-29 03:24:54 +02:00
2022-09-27 14:56:17 +01:00
2022-09-27 14:56:17 +01:00
2022-08-27 11:29:10 +01:00
2022-08-23 13:58:30 +01:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-23 13:58:30 +01:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-10-06 16:41:36 +02:00
2022-10-06 16:41:36 +02:00
2022-09-02 02:07:37 +01:00
2022-08-29 03:24:54 +02:00
2022-09-27 14:56:17 +01:00
2022-09-27 14:56:17 +01:00
2022-10-04 23:35:07 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-28 16:36:56 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-23 13:58:30 +01:00
2022-08-29 03:24:54 +02:00
2022-08-23 13:58:30 +01:00
2022-08-29 03:24:54 +02:00
2022-08-23 13:58:30 +01:00
2022-08-29 03:24:54 +02:00
2022-08-29 03:24:54 +02:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-08-29 03:24:54 +02:00
2022-10-02 23:02:27 +01:00
2022-08-23 13:58:30 +01:00
2022-10-02 23:02:27 +01:00
2022-08-29 03:24:54 +02:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-23 13:58:30 +01:00
2022-10-01 15:36:20 +01:00
2022-08-23 13:58:30 +01:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-09-02 22:44:44 +01:00
2022-08-29 03:24:54 +02:00
2022-09-06 00:27:09 +02:00
2022-09-06 00:27:09 +02:00
2022-08-27 11:29:10 +01:00
2022-08-23 13:58:30 +01:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-10-02 23:02:27 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-28 16:36:56 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-23 13:58:30 +01:00
2022-08-29 03:24:54 +02:00
2022-10-06 22:14:44 +01:00
2022-09-18 13:27:24 -04:00
2022-08-23 13:58:30 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-30 10:30:54 +01:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00