我得到了Checkmarx问题:
文件file第line行中的FUNCTION_X分配的资源分析在文件fileline的中使用时,容易出现资源耗尽。
我可以看到Parse
结果中的数据是在循环中处理的,所以我在循环之前添加了一个长度检查,类似于这样:
if len(query) > 100 {
return nil, fmt.Errorf("too many query params [%d]", len(query))
}
for k := range query {
// ...
}
但Checkmarx仍在抱怨。有人知道怎么解决这个问题吗?
谢谢。
深入研究后,它与url.parse
无关,而是将用户输入传递给由len()
控制的循环。
您的代码很好,Checkmarx SAST需要理解len()
是Go的大小/长度函数。
您应该将其标记为不可利用,并将其报告为False Positive给Checkmarx。