#malloc #address-sanitizer #fuzzing
#malloc #средство очистки адресов #фаззинг
Вопрос:
введите описание изображения здесь
Я запустил AFL fuzzer для программы с открытым исходным кодом и запустил программу с аварийным завершением вывода из-за фаззинга.
Это результат address sanitizer, но я не уверен, что это за ошибка на самом деле.
И где я должен искать?
Я также добавляю результат gdb на первый взгляд.
Комментарии:
1. В отчете указывается имя функции, имя исходного файла и номер строки в исходном файле. Не должно быть сложно найти местоположения в коде.
2. Пожалуйста, вставьте такие данные в свой вопрос (в виде блока кода) вместо ссылки на изображение вне сайта.
3. И при обнаружении сбоев в отладчике, поднимайтесь по стеку вызовов, пока не дойдете до «вашего» кода, не оставайтесь в коде библиотеки.
Ответ №1:
Можете ли вы проанализировать этот результат с помощью средства очистки адресов
Средство очистки адресов точно сообщило вам, в чем проблема и где она возникает:
- В строке 581
dact_common.cc
(в функцииdact_process_file
) вы выделили блок памяти объемом 524299 байт. - У
comp_plain_algo()
васmemcpy
в этой памяти 747621 байт. Этоmemcpy
вызывает переполнение буфера кучи, о котором сообщается.