AddressSanitizer interceptor_via_fun

Хотел бы подавить следующую ошибку, обнаруженную AddressSanitizer.

==114064==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7ffe60fee2f0 at pc 0x000001e6ef34 bp 0x7ffe60feb6c0 sp 0x7ffe60feb6b8
WRITE of size 8 at 0x7ffe60fee2f0 thread T0
    #0 0x1e6ef33 in std::_Function_base::_Function_base() /opt/gcc-8.2.0/include/c++/8.2.0/bits/std_function.h:252
    #1 0x1e6ef33 in function<Engine::Engine(const Resource&, SourceDataVersion, Engine::CalculationResolution)::<lambda(std::unique_ptr<const model::Car>)> > /opt/gcc-8.2.0/include/c++/8.2.0/bits/std_function.h:668
    ...

Я думал установить ASAN_OPTIONS=suppressions=asan_blacklist.txt с asan_blacklist.txt, содержащим

interceptor_via_fun:_Function_base

поможет, как указано в документации говорит

interceptor_via_fun:NameOfCFunctionToSuppress

но это не так. Был весьма шокирован, увидев, что поиск в Google «AddressSanitizer interceptor_via_fun» дал только 151 результат. :/

Что я должен поместить в свой файл подавления?


person joaerl    schedule 22.11.2018    source источник
comment
И теперь вы увидите только свой вопрос.   -  person YSC    schedule 22.11.2018


Ответы (1)


Разве вы не пробовали руководство по llvm? ?

И добавьте следующую строку, чтобы подавить вашу внешнюю библиотеку

interceptor_via_lib: NameOfTheLibraryToSuppress

person Kutsu Monshin    schedule 25.11.2020