问题标签 [coverity]

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 回答
133 浏览

linux - 避免/减少 Travis-CI 构建的多次安装

对于我们的Jailhouse 虚拟机管理程序的 Travis-CI 版本,我们有一个相当昂贵的环境设置,其中包括部分分发更新以引入最近的 make 版本(>=3.82,默认版本仍然只有 3.81 - Ubuntu ...) ,一个用于 ARM 的交叉工具链和一个 100 MB 的预构建 Linux 内核源包,我们需要它来编译一个树外模块。

为了减少构建时间和内核下载次数,我们目前在一次运行中按顺序构建所有配置变体(make; make clean; make...)。这对于检查构建损坏很好,但是添加了取决于构建输出的 Coverity 扫描,它不再起作用。切换到构建矩阵似乎是显而易见的解决方案,但代价是多次安装,因为 Travis-CI 似乎无法在此类构建期间重用它们。虽然我们目前只有 3 种配置变体,但未来会增加(例如,添加的每个 ARM 板都会增加一个),因此该方法并不能真正扩展。

我们有其他选择吗?我已经看过缓存,可通过基于 docker 的构建获得,但缺乏 sudo 支持阻止了这种方法。其他想法?

0 投票
0 回答
1454 浏览

c++ - Coverity 抱怨未捕获的异常。什么安全问题与此相关?

我正在为 Linux 编写 C++ 代码。我将所有资源都包装在 RAII 对象中。

如果我的软件抛出异常并且任何地方都没有 try/catch 块。会发生什么?

我主要是在安全方面询问,因为这是我感兴趣的。如果资源丢失,那也很糟糕,特别是如果这也可能导致安全问题。

我故意很宽泛,不想给出生成此类覆盖率问题的代码的具体示例,因为即使有一个案例表明这是不好的做法,我将不得不修复我的代码。

0 投票
2 回答
847 浏览

linux - 是否有任何静态代码分析器可以捕获此内存泄漏?

这样的泄漏在肉眼看来太微不足道了,我认为静态代码分析工具应该能够找到它们。

我知道Coverity可以找到如下泄漏,但不确定上述泄漏:谁能告诉我这是否会在任何一个Coverity或类似的工具中被检测到Sparse

0 投票
1 回答
118 浏览

github - Travis/Coverity 集成:YAML 编码问题

我一直在使用以下.travis.yml文件为我的项目配置 Travis CI。

我现在正在尝试将 Travis 与 Coverity 集成,如此所述。但是,我创建的 YAML 文件格式不正确。

问题出在env方块上。如何env::global::secure按照 Coverity 的要求定义变量,但仍然像以前一样定义我的构建矩阵,全部在有效的 YAML中?

0 投票
2 回答
7111 浏览

analysis - 如何在覆盖范围内添加流

我是 Coverity Analysis 的新手。我需要在 Coverity 中添加 Stream,我该如何实现。下面是我的脚本

现在,我可以在哪里以及如何在 Coverity 中添加流“TEST”。谢谢你的帮助 !!

0 投票
1 回答
731 浏览

coverity - 有没有办法向覆盖率快照添加属性以允许过滤

我是 Coverity 的新手。我希望能够使用“RC1”之类的标签标记快照,以允许在 Coverity Connect 中进行过滤。我可以按日期或日期范围或快照 ID 选择快照中的 cid。

我希望能够在创建每个快照时以编程方式自动添加标签(我们的构建系统已知)。

0 投票
2 回答
4930 浏览

c++ - 使用 sprintf / printf 使用 %ld 格式字符串而不是具有 int 数据类型的 %d 的效果

我们有一些遗留代码在某个时间点将 long 数据类型重构为 int 数据类型。在此重构期间,许多 printf / sprintf 格式语句被保留为不正确的 %ld 而不是更改为 %d。例如:

此代码在 GCC 和 VS2012 编译器上编译。我们使用 Coverity 进行静态代码分析,示例中的代码被标记为“Printf arg 类型不匹配”,严重程度为中等,CWE-686: Function Call With Incorrect Argument Type 我可以看到这绝对是一个问题格式字符串是带有无符号 int 类型或类似这些行的有符号 (%d) 的格式字符串。

我知道 sprintf 等的 '_s' 版本更安全,并且上面的代码也可以重构为使用 std::stringstream 等。但是它是遗留代码......

我同意上面的代码至少应该使用 %d 或者重构为使用 std::stringstream 之类的东西。

出于好奇,是否存在上述代码会产生错误结果的情况?由于这个遗留代码已经存在了很长一段时间,并且似乎运行良好。

更新

  • 删除了 STL 一词的用法,只是将其更改为 std::stringstream。
0 投票
1 回答
884 浏览

asp.net - 获取 HttpContext.Current.User.Identity.Name 时的资源泄漏

我使用 HttpContext 来检索即将到来的 HTTP 请求的当前用户名,但是在运行覆盖率分析时,它会报告资源泄漏。

在 Coverity 报告中,它说 2. alloc_fn:从分配方法 Identity.get 返回一个新资源。(虚拟调用解析为 System.Security.Claims.ClaimsPrincipal.Identity.get。) 3. noescape:资源 System.Web.HttpContext.Current.User.Identity 未关闭或保存在 Name.get 中。(虚拟调用解析为 Org.Abc.HttpModules.MyIdentity.Name.get。)

CID 51307:资源泄漏(RESOURCE_LEAK) 4.leaked_resource:无法保存或关闭 System.Web.HttpContext.Current.User.Identity 创建的资源泄漏它。

0 投票
1 回答
667 浏览

c++ - C++ 代码 - Coverity(或其他一些静态代码分析器)+ 线程安全

我今天想知道以下问题:是否有任何工具或扩展(用于覆盖或其他代码分析器),我可以在其中执行以下操作?:

  • 首先,我将设置一组规则,即哪些代码正在生成新线程,以便分析器知道该代码将运行其他线程。
  • 该工具必须遵循,哪些代码部分在哪些线程中,它们是相同的,还是不同的。
  • 我可以设置“规则”,什么样的代码可以确保我的线程安全:例如 MYLOCK 类在线程之间锁定。
  • 以及前 3 个原因:该工具应该向我显示警告,哪些代码最有可能由不同的线程调用,并且其中没有线程安全用法。

谢谢

0 投票
1 回答
14490 浏览

c++ - Coverity:基本 C++ 代码的命令行构建脚本

我正在研究通过命令行为覆盖性(静态代码分析工具,版本 7.5.1)构建服务器上的 c++ 代码进行检测构建的要求。需要通过命令行执行基本的 c++ 代码,我尝试在构建机器中实际安装覆盖的目录上使用cov-build命令和各种其他排列。cov-build –-dir cov-int cl /c test.cpp但是有一些问题。系统只能理解cov-buld --dir并且如果我只使用此命令和/c,则此文件将在 Visual Studio 中打开,而不是提供%编译单元。如果有人以前这样做过,请帮助我。