问题标签 [klocwork]
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.
java - 'fileInputStream' 在退出时未关闭。
我已经对我的代码进行了 klocwork 代码分析。我收到以下错误我最终关闭了输入流即使这样我也收到错误'fileInputStream'在退出时没有关闭。
以下是一段代码
java - SV.DOS.ARRSIZE:Klocwork 中未验证的用户输入“sigFileInputStream.available()”用于下一行
我正在使用 klocwok 来查看我的代码。对于给定的代码行:
我收到以下错误报告:
SV.DOS.ARRSIZE:
sigFileInputStream.available()
用于数组大小的未经验证的用户输入 - 攻击者可以指定一个很大的数字,从而导致服务器上的高资源使用和 DOS 攻击
请帮我解决这个问题。
c++ - 无符号字符上的 klocwork CWARN.SIGNEDBIT
我有C++ 代码,其中包含:
当我在其上运行Klocwork 10时,我收到警告:
此结构中的其他变量也是如此。 uint8_t 是 unsigned char typedef。当我尝试使用签名字符时,我得到一个错误,而不是像这里这样的警告。使用unsigned int可以解决问题,但我想改用char。
我的问题是:为什么会出现此警告以及如何解决?
c# - Klocwork 抱怨未标记为一次性对象的资源泄漏
我有一堂课被错误地标记为 IDisposable。当 Klocwork 抱怨该类对象的资源泄漏时,我已从该类中删除了 IDisposable 实现。当我重新运行 Klocwork 分析时,它仍然抱怨相同的资源泄漏。我期待错误消失。
我还需要做些什么吗?请帮忙。
eclipse - Klocwork 插件无法在 Eclipse 中运行,出现错误“java.lang.UnsatisfiedLinkError: no sqlite_jni in java.library.path”
我刚刚为 Eclipse 安装了 Klocwork 插件。但是当我开始扫描一个项目时,它给了我以下错误:
我发现了几个有类似问题的线程:
http://thelogofthewook.blogspot.de/2011/12/updating-problems-myproject-no.html
https://developer.klocwork.com/community/forums/klocwork-general/user-tools/eclipse-plugin-error
他们都提到了一些 32 位/64 位的问题。但我使用的是 32 位 Eclipse + 32 位 JVM。
正如我检查sqlite_jni.dll
的那样,插件lib
和lib64
文件夹中分别存在2个不同的文件。所以我想没有文件丢失。
那么有什么问题呢?
目前,我正在尝试通过以下方式对其进行故障排除:
- 弄清楚插件如何定位其本机库。
- 如何为插件配置 java.library.path。
klocwork - 在自定义 KlocWork 检查器中访问左子或右子
我正在尝试为 C++ 编写自定义 KlocWork 检查器,但是我遇到了一个问题:
当我们有这样的表达式时:
我想访问作为变量'x'的左节点,但也来自右节点的两个变量(来自右节点的左和右)我不知道如何访问每个变量,到目前为止我的检查器中有这个:
它用左节点上的另一个表达式检测每个 BinaryExpression(存储在 $exprR 中),但之后我不知道如何访问 $exprR 的左右子节点。
提前感谢您的帮助!
c++ - 枚举在两个单独的文件中表现不同
我面临着非常荒谬的问题,在 cpp 源中使用枚举。我只是分享问题所在的部分。
我在头文件中声明了一个枚举,如:< type.h >
接下来是文件<com.cpp>,用法如下:
接下来是文件<conv.cpp>,它的 API 在<com.cpp>中被调用。用法如下;
现在,当我使用KLOCWORK分析代码时,我看到泄漏报告为:
从“数据”中释放不匹配的内存。在第 70 行通过函数 'doConvertReq' 分配的 'data' 引用的内存通过将参数 1 传递给函数 'delete[]' 被非法释放
在通过 traceBlocks 进行跟踪时,它表示条件为:
- 对于BT_DEACT案例,在文件conv.cpp中,取消分配是在com.cpp文件的sendmsg(...) API内的“BT_PLAY == requestId”案例中完成的。
似乎没有任何情况适合这种情况,但是 klocwork 报告了这一点。正如 valgrind 分析的那样,对于相同的代码设置,没有泄漏。任何线索,对于这种可能性?
git - Klockwork 作为自动签到测试(Jenkins + Git)
我正在使用标准的 Jenkins-git钩子来检测新的变化并触发 CI 测试。如果所有测试均通过,则接受签入。在与主分支合并之前,有没有办法可以使用Klocwork静态分析结果作为通过/失败标准?
Klocwork 插件仅用于将结果作为作业属性的一部分嵌入。我在想,如果我可以将这些结果转换为 XML 并利用xUnit 插件提供的测试分析和通过/失败标准?
Jenkins 和 Klocwork 的推荐工作流程是什么?
java - Klockwork 警告:从方法返回 null 的位置的空指针取消引用
在使用 klocwork 进行错误分析时,我收到了警告Null pointer dereference of 'nextLineDn' where null is returned from a method
。
显然其他静态分析工具findbug
也给出了同样的警告。
但很明显,我在使用它之前正在检查 null/empty。
class Util
:
有人可以给我一些想法吗?我在相同的条件下收到了很多警告。不知道还能做些什么来消除警告。
cyclomatic-complexity - 特定模块的 Klocwork Insight 复杂性
Insight Review 允许用户查看 15 种最复杂的方法。我希望查看特定 C++ Visual Studio 项目及其组件模块的复杂度指标。
早期的 Insight 用户界面提供了这一点。有一个目录浏览 UI,可以查看任何目录级别的指标,直至单个文件。
请注意,我不希望自定义指标的报告。我只是希望为指标视图选择模块。
我正在使用 10.1