We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 1c4e3cb commit a3cd0e4Copy full SHA for a3cd0e4
1 file changed
lib/PhasarLLVM/TaintConfig/TaintConfig.cpp
@@ -385,11 +385,15 @@ void TaintConfig::forAllGeneratedValuesAt(
385
Handler(Inst->getOperand(Arg.getArgNo()));
386
}
387
388
- }
389
-
390
- for (const auto *Op : Inst->operand_values()) {
391
- if (SourceValues.count(Op)) {
392
- Handler(Op);
+ } else {
+ /// If we have a call to a source function, we would generate via formal
+ /// parameter instead via actual argument.
+ /// If any function is called with a variable that was defined as source, we
+ /// don't want to re-generate the value.
393
+ for (const auto *Op : Inst->operand_values()) {
394
+ if (SourceValues.count(Op)) {
395
+ Handler(Op);
396
+ }
397
398
399
0 commit comments