О таких вещах хочется писать почти сразу :)
https://github.com/facebook/zstd/pull/3517
Нашли ещё поцарапанные данные в ZSTD. Удивительный факт в том, что этому багу 2 года.
На этот раз никакое тестирование, фаззинг, который 2 года фаззил этот код, не помог. Нашли случайно, а баг ещё одна манифестация Silent Data Corruption. Из хорошего это замечательный кейс для фаззера, почему не нашел, что можно сделать, чтобы фаззинг такое находил хотя бы за недели.
Пишите чексуммы даже в таких примитивах, любые библиотеки, ядро, процессоры содержат баги корректности.
Советую обновиться тем, кто использует. Проблемы были в ZSTD level 13-22. decompress(compress) (редко) возвращал другие данные.
https://github.com/facebook/zstd/pull/3517
Нашли ещё поцарапанные данные в ZSTD. Удивительный факт в том, что этому багу 2 года.
На этот раз никакое тестирование, фаззинг, который 2 года фаззил этот код, не помог. Нашли случайно, а баг ещё одна манифестация Silent Data Corruption. Из хорошего это замечательный кейс для фаззера, почему не нашел, что можно сделать, чтобы фаззинг такое находил хотя бы за недели.
Пишите чексуммы даже в таких примитивах, любые библиотеки, ядро, процессоры содержат баги корректности.
Советую обновиться тем, кто использует. Проблемы были в ZSTD level 13-22. decompress(compress) (редко) возвращал другие данные.