Код: Выделить всё
extern "C" const char* __asan_default_options() {
return "allow_user_poisoning=false";
}
< /code>
Я поместил эту функцию в файл .cpp, встроенный в статическую библиотеку, а затем связал эту библиотеку с исполняемым файлом. Тем не менее, ASAN, похоже, не уважает параметры. < /P>
Примечание. Если я вместо этого добавляю файл .cpp непосредственно в источники каждого исполняемого файла, он работает, как и ожидалось. Например: < /p>
add_library(configAsan OBJECT asan_flags.cpp)
target_link_libraries(my_exec PRIVATE configAsan)
Я попробовал
add_library(configAsan STATIC asan_flags.cpp)
target_link_libraries(my_exec PRIVATE configAsan)
< /code>
Где мой исполняемый файл выглядит так: < /p>
int main(int argc, char* argv[]) {
int* p = new int[4];
__asan_poison_memory_region(p + 1, 3 * sizeof(int));
std::cout
Подробнее здесь: https://stackoverflow.com/questions/796 ... ked-agains
Мобильная версия