Diff Detail
Event Timeline
clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp | ||
---|---|---|
215 | Note that the LeakedVALists might be empty. In that case, we generate an error node without emitting any warnings. Is this intended? |
clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp | ||
---|---|---|
215 | Good point, it also has an early return. |
We noticed this when debugging D47856, because the visitor was saying "va_list ended" right before the report, because the key is indeed removed from the program state just before reporting the issue, so it's not there in the issue state and is there in the state before that.
Due to temporary insanity i thought that chaining two nodes together is the right approach here, but i guess other checkers work just fine without it, so i think it's most likely unnecessary.
Still, ideally we need to always generate[NonFatal]ErrorNode when we through our reports.
Note that the LeakedVALists might be empty. In that case, we generate an error node without emitting any warnings. Is this intended?