AssignmentToItselfChecker.java 捕获同一翻译单元内的自我分配。但是,如果该值通过标头传播并且完成了相同的分配,则它不会捕获,这完全符合预期。我将其作为独立的解析器运行link.
#include <stdio.h>
#include "A.h"
int main() {
int number1 = 100;
number1 = callMe(number1); // Checker fails to capture, as callMe() is in another Translation Unit
int number2 = 100;
number2 = number2; // Checker will report issue here.
}
int callMe(int number) {
return number;
}
Github 来源:repo
是否有任何可行的解决方案可以使用污点分析或在其他翻译单元中查找来实现这一目标?任何没有 IDE(独立)的工作解决方案都可以。可能是我遗漏了一些已经可用的东西。如果我在任何地方错了,请纠正我。
提前致谢。