- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Parasoft 来分析我的代码。我去这个违规:
Tainted parameter of entry point method ("inFileName") has been printed on the console
这是错误所在的代码:
static void printUsage(char *inFileName)
{
printf("Usage: %s %s\n", inFileName, "[-h|-help|-usage]\n");
}
int main(int argc, char **argv)
{
printUsage(argv[0]);
return 0;
}
其中 inFileNAme
实际上是 argv[0]
。
我该如何解决违规问题或至少让 Parasoft 满意?
最佳答案
您可能会收到此警告,因为您没有正确清理程序参数。例如,如果您得到一个非终止字符串,printf
中的 %s
说明符将使您的程序继续读取(和打印)内存,从而导致未定义的行为和安全问题。
关于什么是“受污染的参数”:
In software security analysis, a value is said to be tainted if it comes from an untrusted source (outside of the program’s control) and has not been sanitized to ensure that it conforms to any constraints on its value that consumers of the value require — for example, that all strings are null-terminated.
(source) (强调我的)
为了确保您的输入值正确,您可以使用像 strdup
这样的函数....:
static void printUsage(char *inFileName)
{
char *inFile = strdup(inFileName);
if (inFile == 0) {
printf("Error with program Argument.");
}else{
printf("Usage: %s %s\n", inFile, "[-h|-help|-usage]\n");
free(inFile);}
}
int main(int argc, char **argv)
{
printUsage(argv[0]);
return 0;
}
关于c - 如何去掉静态分析报告中的 "tainted parameter"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41952266/
我正在开发一个 Chrome 扩展程序来增加网站的便利性。 我可以访问该页面的 DOM,但我还需要与该页面上的“第一方”JS 进行交互,而我无法通过我的扩展程序进行交互。 我可以在页面中插入任意标签(
我读了很多关于 Taint在 Perl 变量、模式等中,例如来自 docs : $AUTOLOAD can now be tainted If you call a subroutine by a t
我正在使用 Parasoft 来分析我的代码。我去这个违规: Tainted parameter of entry point method ("inFileName") has been print
我的操作系统是Fedora 17。最近,出现内核污染警告“kernel bug at kernel/auditsc.c:1772!-abrt”:不应报告此问题(这可能是一个已知问题)。发生内核问题,但
我想使用 api 向(从)k8s 节点添加(删除)污点,代码如下: import ( taints "k8s.io/kubernetes/pkg/util/taints" ) newNode
已经问过类似的问题,问题的原因很清楚,我要的是替代方案或解决方法: 我想做的是从画有 SVG 文档的 Canvas 中获取数据 URL。我已经尝试了各种方法,但 IE9 和 Chrome 不会让我在
我即将完成一个基于 Javascript/HTML5 的游戏,并且我一直在通过使用 Chrome 打开本地文件系统上的 HTML 页面来测试它(我没有在任何地方上传任何内容)。我使用 Chrome 的
我目前正在尝试了解 this JLS section on final fields . 为了更好地理解 JLS 中的文字,我也在阅读 The Java Memory Model作者:Jeremy M
我正在玩形状检测 API ( https://github.com/WICG/shape-detection-api ),基于以下示例:https://wicg.github.io/shape-det
所以我有一个我们正在 Cordova 中为 Android 开发的应用程序。具体来说,用户将加载应用程序将进行实时处理的视频源。问题在于,当尝试在 canvas 元素上执行 toDataURL 时,C
此问题与该主题的许多现有问题类似,但并不完全相同,包括 Tainted canvases may not be exported . 我正在编写一个仅离线应用程序,该应用程序必须保持这种状态并且无法使
我有一个名为“应用程序池”的节点池,其中包含大小为Standard_D2a_v4的节点虚拟机。该节点池设置为“自动缩放”。解决方案中是否存在我在 azure 中污染整个节点池的地方?限制 pod 在该
我有一个名为“应用程序池”的节点池,其中包含大小为Standard_D2a_v4的节点虚拟机。该节点池设置为“自动缩放”。解决方案中是否存在我在 azure 中污染整个节点池的地方?限制 pod 在该
我确实知道参数化查询,但我有几个旧网站,我在这些网站上使用这种方法来清理用户输入: 请注意,%d 周围没有引号。 $tainted 是否有任何值可能导致此类查询产生意外结果?很容易给出语法错误,但我
我可以输入什么 CLI 命令来删除 node-role.kubernetes.io/master:NoSchedule来自 Kubernetes 集群中的主节点的污点? 以下命令失败: [lnxcfg
我正在尝试对其文档 ( https://clang-analyzer.llvm.org/alpha_checks.html#security_alpha_checkers ) 中显示的一些示例执行 c
我尝试在我的函数中实现反转颜色函数,但我不知道如何使用跨源解决这个问题。 我尝试过使用“匿名”,但这也不起作用。所以问题很简单。如何正确使用这个getImageData? var canvas
我正在使用 this example 从 HTML5 视频创建快照。视频托管在第三方服务器上,我无法控制。 所以我想保存图像,但由于安全原因 toDataURL 失败。 这里出现错误:无法在“HTML
我想对使用用户输入污染其参数的函数进行 TaintTracking。示例: fgets(buf, sizeof(buf), stdin); // buf is tainted [...] n = st
我有一个 HTML5 Canvas ,我可以在上面绘制来自 svg 的图像。 HTML JavaScript var DOMURL = window.URL || window.webkitURL
我是一名优秀的程序员,十分优秀!