There was a missing check to ensure that the `off64_t` (which is a signed value) didn't overflow when parsing it from the midx file. This shouldn't have huge repercusions since the parsed value is immediately validated afterwards, but then again, there is no such thing as "benign" undefined behavior. This change makes all the bitwise arithmetic happen with unsigned types and is only casted to `off64_t` until the very end. Thanks to Taotao Gu for finding and reporting this!
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
corpora | Loading commit data... | |
CMakeLists.txt | Loading commit data... | |
commit_graph_fuzzer.c | Loading commit data... | |
config_file_fuzzer.c | Loading commit data... | |
download_refs_fuzzer.c | Loading commit data... | |
midx_fuzzer.c | Loading commit data... | |
objects_fuzzer.c | Loading commit data... | |
packfile_fuzzer.c | Loading commit data... | |
patch_parse_fuzzer.c | Loading commit data... | |
standalone_driver.c | Loading commit data... | |
standalone_driver.h | Loading commit data... |