是否可以抑制Xcode(clang)分析器报告的问题实例?

问题描述 投票:0回答:1

我的用例如下。在我的一个库的自动化测试中,我使用mktemp函数来获取文件名以创建临时文件。 Xcode正确地抱怨这是一个安全风险,但在这种情况下我没有选择(API我必须遵循要求文件名),我愿意承担风险,因为代码只是测试代码而不是实际服务。 (因此安全风险不适用。)

我想我可以创建我自己的mktemp版本,这是我测试的本地版本,但我不想编写已编写的东西。

所以我想知道的是,是否有一种方法可以告诉分析仪停止抱怨这个问题的实例?请注意,这与Is it possible to suppress Xcode 4 static analyzer warnings?中提出的问题的不同之处在于,这不是误报,我不想压制分析文件或此检查的所有实例。我只是想压制这一个例子。 (即与Cppcheck中的cppcheck-suppress相似的东西)

c xcode static-analysis clang-static-analyzer
1个回答
0
投票

@JonathanLeffler最后的评论是完全正确的,当我读到我引用的问题时,我不知道我是如何错过它的。以下代码段完全符合我的要求 - 它在此mktemp实例中禁止分析器警告,同时使其对所有其他使用mktemp的实例保持活动状态。

#if defined(__clang_analyzer__)
   char* filename = "/tmp/somename";
#else
   char* filename = mktemp("/tmp/prefixXXXX");
#endif
© www.soinside.com 2019 - 2024. All rights reserved.