问题标签 [sanitizer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
533 浏览

clang - Bazel 规则缺少对 clang 的 sanitize-blacklist 的依赖

我正在尝试将 ASAN sanitize 添加到我们使用 Bazel 并遇到以下问题的项目中。我在我们的 bazel.rc 中添加了清理黑名单

但是当我建立一个目标时,我得到了缺少依赖错误

似乎应该将 blacklist.txt 添加到 BUILD 文件中的构建规则中,但是对于我们已经拥有的所有海量规则,我们不能真正做到这一点。有没有办法为所有规则或类似的东西添加全局依赖项?

0 投票
1 回答
915 浏览

c++ - 使用 Memory Sanitizer 检测 libc++

我已经构建了一个检测的 libc++,如此所述。我已按照上述网站的建议设置了标志:

并试图建立这个:

与:clang++ ${MSAN_CFLAGS} m.cpp。我有:

我还尝试clang++使用与 build 相同的方法构建内存清理libc++,但我得到了:

任何建议如何编译上述代码?

当然clang++ m.cpp可以,但在这种情况下,可执行文件链接到libstdc++.

0 投票
1 回答
644 浏览

c++ - 临时字符串上的 std::string_view - 由 ASan 捕获

这是悬空指针|参考示例:

地址清理程序无法捕获它,至少使用默认选项。是否可以使用地址清理程序捕获此类错误?

UPD。

报告了这个错误:

0 投票
0 回答
515 浏览

c++ - AddressSanitizer clang 直接泄露地址

如何在 clang address sanitizer 中找到直接泄漏的地址。例如,如果它返回

我怎么知道这些泄漏的地址?

0 投票
0 回答
332 浏览

c++ - centos 7上的内存清理程序误报但在其他平台上没有

我的测试代码如下:

我使用 GCC 7.2 工具链使用最新的 clang 进行编译。
clang++ -fsanitize=memory msan.cp

这本质上是一个问题的重现器,我看到尝试将内存清理程序集成到在 centos 7 服务器上运行的大型软件堆栈中。

这个小示例代码会产生以下错误:

但是,这只发生在 centos 服务器上,在我的本地 arch linux 系统上尝试此操作时,我没有看到任何错误并且它按预期工作。

服务器详情
glibc : 2.17-196.el7
uname -a::
Linux servername 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

我基本上没有想法,所以很乐意为我提供任何帮助,甚至是我可以尝试的建议。

谢谢!:)

0 投票
1 回答
291 浏览

c++ - 错误时的 clang sanitizer 回调

是否可以设置某种回调,当 clang sanitizers 发现错误时将调用该回调?我需要打印一些有用的信息,例如 - 测试名称。

PS 测试保存/存储为 XML 文件,而不是 C++,这就是为什么堆栈跟踪不会告诉我失败的测试名称。

0 投票
1 回答
1448 浏览

gcc - gcc 的有效消毒剂抑制字符串是什么?

当使用带有 gcc 的消毒剂时,可以提供一个例外/抑制列表来处理误报等。

抑制文件格式的文档记录很差。

每个抑制的形式

的有效值是name_of_check什么?

0 投票
1 回答
477 浏览

python - 如何从 html5lib.sanitizer 导入

我正在尝试HTMLSanitizerMixinhtml5lib.sanitizer Python 中的模块导入模块。在网上搜索后,我在更新中看到html5lib他们删除了sanitizer包,但即使我尝试从新位置导入它,我现在似乎也无法得到它。

0 投票
0 回答
497 浏览

c++ - 共享库 (JNI) 中的 Clang 未定义行为清理程序:“未定义符号:__ubsan_vptr_type_cache”

当编译如下时,我们clang++构建的带有未定义行为清理程序的可执行文件可以正常工作:

并链接到一个可执行文件,如下所示:

但是,如果我们将其链接到共享库中,如下所示:

尝试使用 JNI 从 Java 加载库时出现以下错误:

使用 clang 未定义行为清理程序创建共享库而不是可执行文件时是否有任何其他注意事项?我们的 clang++ 版本是 3.7,在 Ubuntu Linux 上运行。

0 投票
1 回答
1303 浏览

c - 铿锵声:-fsanitize=undefined 有 128 个整数运算(未定义对 `__muloti4' 的引用)

在clang中,如果程序使用128位整数时未定义的行为清理器( ) ,我会遇到链接错误。-fsanitize=undefined链接错误抱怨__muloti4

(在带有 clang 4.0.1 的 Ubuntu 17.10 上测试。)

使用 gcc,它可以开箱即用 ( gcc -fsanitize=undefined example.c)。

与 clang 一起使用的是以下调用,但我既不完全理解它(--rtlib=compiler-rt),也不像我这样:

我通过反复试验找到了它,但是使用 clang 和链接一些 gcc 库感觉不对。还明确链接到ubsan根据文档,也不需要。

这是摆脱错误的正确方法,还是有更强大的解决方案?