ubsan相关内容

C++ UBSAN 使用派生对象产生误报

我想使用 UBSAN(未定义行为消毒剂),但发现它完全没有价值,因为它会报告许多误报. 例如一个简单的 std::make_shared(42); 足以触发像 这样的警告 地址 0x00000236de70 内的成员访问不指向类型为“_Sp_counted_base"的对象 将此示例简化为 MWE 表明该问题在基类和继承方面更为普遍: 示例: struct Foo{int ..
发布时间:2021-09-13 20:40:32 C/C++开发

如何抑制来自 UBsan 的一些无符号整数溢出错误?

我的大部分 -fsanitize=unsigned-integer-overflow 错误都是错误,但有时我会按预期明确使用它,这会导致 UBSan 产生误报. 有没有办法关闭特定表达式的 UBSan 无符号整数溢出检查? 编辑以回应 Shafik 的评论,这是一个例子: unsigned a = 0;无符号 b = a - 1;//错误:无符号整数溢出 大多数时候这是一个错误,有 ..
发布时间:2021-09-13 20:40:20 C/C++开发

未定义对__ubsan_handle_nonnull_arg的引用

最近几天,我一直在研究问题集拼写器,到目前为止,这是我所拥有的。不幸的是,它无法编译,我有点迷茫。如果有人可以帮助我并告诉我我在做什么错,我将非常感谢。 //实现了字典的功能功能 #include #include #include #include #include ..
发布时间:2020-10-11 22:59:48 其他开发

通过指向错误函数类型的指针来调用函数(未知)

我有一个动态链接到库的程序. 该程序将一个函数指针传递到该库以执行. 但是ubsan(未定义的行为清理器)指定了指针在错误的函数类型上.而且只会发生 如果回调函数具有一个类作为参数 如果回调函数具有一个类作为参数,但仅前向声明 如果我指定编译标志:-fvisibility = hidden. 我用clang编译我的项目. 这是clang未定义行为消毒器中的错误吗? ..
发布时间:2020-05-28 22:55:56 C/C++开发

使用GCC未定义行为清洁剂

今天,我已阅读一篇文章关于 GCC未定义行为清除程序(ubsan)。但是,当我遵循这些步骤(在我的代码中添加 -fsanitize = undefined )时,编译器(Ubuntu 15.04上的GCC 4.9.2)说某些引用没有定义: || ===构建:在Entangle中调试(编译器:GNU GCC编译器)=== | obj / Debug / EntangleApp.o ||在 ..
发布时间:2018-04-20 17:37:10 C/C++开发

Undefined Behavior Sanitizer:如何抑制一些无符号整数溢出错误?

我的 -fsanitize = unsigned-integer-overflow 错误大多是错误,但有时我明确地使用它的预期,这导致UBSan产生假阳性。 p> 有没有办法可以为特定表达式关闭UBSan无符号整数溢出检查? 到Shafik的注释,这里是一个例子: unsigned a = 0; unsigned b = a - 1; //错误:无符号整数溢出 ..
发布时间:2016-10-23 21:05:40 C/C++开发