Вопросы по теме 'ubsan'

UBSAN сообщает: -875 ‹‹ 7 как неопределенное поведение
Простой фрагмент кода: #define FOO 7 int bar = -875; bar <<= FOO; Об этом сообщает UBSAN as UB. Насколько я понимаю, -875 << 7 - это просто -(875<<7) и переполнения нет. Итак, есть ли здесь реальная проблема?
143 просмотров

Как использовать MATRIX_EVAL для включения строки матрицы построения на основе компилятора?
Наша матрица сборки Travis включает строку, которая строится с помощью дезинфицирующего средства Undefined Behavior. : matrix: - BUILD_MODE="all" - BUILD_MODE="no-asm" - BUILD_MODE="asan" - BUILD_MODE="ubsan" GCC требует...
555 просмотров
schedule 26.08.2022

Добавление указателя и целочисленное переполнение с помощью Clang 5.0 и UBsan?
Я пытаюсь понять проблему, которую мы недавно устранили при использовании Clang 5.0 и Undefined Behavior Sanitizer (UBsan). У нас есть код, который обрабатывает буфер в прямом или обратном направлении. Сокращенный регистр похож на код, показанный...
317 просмотров
schedule 21.06.2023

Устранение ошибки дезинфицирующего средства при использовании ускоренной сериализации
Недавно я пытался использовать ускоренную сериализацию для сериализации класса, который содержит std::vector<std::unique_ptr<Base>>> в качестве члена. Согласно документации по ускорению (...
392 просмотров

Как исправить эту ошибку времени выполнения C ++ UBSAN vptr (ошибка времени выполнения: вызов члена по адресу)
Я включил тест ubsan (-fsanitize = undefined) в своем проекте и обнаружил несколько ошибок времени выполнения ubsan. Может ли кто-нибудь помочь мне понять, почему здесь не удалось? Как исправить эту проблему в GCC и Clang? Вот модуль lib.so,...
435 просмотров
schedule 30.10.2022

Управление ведением журнала для Address Sanitizer PLUS Undefined Behavior Sanitizer?
Несколько дезинфицирующих средств (из GCC или Clang) нельзя комбинировать — т. е. использовать одновременно в одной сборке, но Asan и Ubsan можно комбинировать — т. е. я могу собрать с «-fsanitize=address,undefined -fsanitize-recover=all…» и иметь...
486 просмотров
schedule 12.01.2023

Почему включение очистки неопределенного поведения мешает оптимизации?
Рассмотрим следующий код: #include <string_view> constexpr std::string_view f() { return "hello"; } static constexpr std::string_view g() { auto x = f(); return x.substr(1, 3); } int foo() { return g().length(); }...
573 просмотров