Tim Schumacher
43f98ac6e1
Everywhere: Remove the AK::
qualifier from Stream usages
2023-02-13 00:50:07 +00:00
Tim Schumacher
47531a42a9
AK: Make LEB128 decoding work with read_value
2023-02-04 18:41:27 -07:00
Tim Schumacher
787f4d639a
AK: Port LEB128
to the new AK::Stream
2023-02-04 18:41:27 -07:00
Tim Schumacher
31f59855b4
AK: Don't restore the stream offset when failing to read an LEB128
...
Pretty much no other read function does this, and getting rid of the
typename template parameter for the stream makes the transition to the
new AK::Stream a bit easier.
2023-02-04 18:41:27 -07:00
Tim Schumacher
ae64b68717
AK: Deprecate the old AK::Stream
...
This also removes a few cases where the respective header wasn't
actually required to be included.
2023-01-29 19:16:44 -07:00
Andreas Kling
ae3ffdd521
AK: Make it possible to not using
AK classes into the global namespace
...
This patch adds the `USING_AK_GLOBALLY` macro which is enabled by
default, but can be overridden by build flags.
This is a step towards integrating Jakt and AK types.
2022-11-26 15:51:34 +01:00
kleines Filmröllchen
41b2d37e8a
AK: Always check shift amount in LEB128 read functions
...
Even shifting 0 by more than the value size is UB.
2022-07-09 22:04:31 +00:00
Idan Horowitz
086969277e
Everywhere: Run clang-format
2022-04-01 21:24:45 +01:00
Ali Mohammad Pur
60d43d6969
AK: Don't perform the shift when it's too large when decoding LEB128
...
Prior to this, we calculated whether the shift was too large for the
result, and then did the shift regardless.
Found by OSS-Fuzz: https://oss-fuzz.com/testcase-detail/6046441716973568
2021-08-31 16:37:49 +02:00
Andrew Kaster
0af192ff8d
AK: Handle LEB128 encoded values that are too large for the result type
...
Previously, we would go crazy and shift things way out of bounds.
Add tests to verify that the decoding algorithm is safe around the
limits of the result type.
2021-05-31 14:25:27 +04:30
Ali Mohammad Pur
d288f6654e
AK: Make LEB128 capable of reading into any type
...
And not just ssize_t/size_t.
This is useful in cases where the output size is supposed to be larger
than size_t.
2021-05-04 22:33:35 +02:00
Ali Mohammad Pur
48260b5054
AK: Move the LEB128 logic to AK and make it usable with InputStream
2021-05-04 22:33:35 +02:00