全部, 我正在审查Fortify检测到的一些问题,并且一些“问题”显示的行号高于代码的总行数。例如。第599行和第5行出错文件中只有490行代码。
我已经验证了版本并确保使用正确的路径。
有谁知道为什么会这样。有超过50个'错误'显示出这种情况。
提前致谢。
答案 0 :(得分:2)
自您上次扫描源代码以来,源代码可能已发生变化。 FPR包含扫描的原始源代码,但是当打开FPR时,如果Fortify检测到原始路径中的源代码(扫描的路径),它将使用它代替(我认为这是性能问题)。 / p>
当Fortify开始显示源代码并且无法在扫描的外部路径中找到代码时,它将显示一条消息:
['/* Multi-line' 'comment' '*/' '' '#include <iostream>',
'' '#include <fstream>' '' 'using namespace std;'
'' 'int main (int argc, char *argv[]) {'
'int linecount = *' 'double array[1000], sum=0, median=0, add=0;'
'string filename;' 'if (argc <= 1)' '{' 'cout << "Error" << endl;'
'return 0;' '}']
有三个选项:
如果您想要扫描的内容,请选择第一个选项
如果您希望它将Fortify指向您系统上源代码的位置,请使用第三个选项。
如果您希望它使用内部源,请执行以下操作
打开FPR 做工具 - &gt;提取源代码 选择一个位置 执行此操作时,Fortify将自动开始使用该位置来提取源代码以供显示。