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