Szelethus added a comment.

In general, don't emit to stderr unless we either emit a warning/error about 
the incorrect configuration. As an experiment, what happens when you try to 
emit an error in the middle of the symbolic execution? You can retrieve a 
`DiagnosticsEngine` from any decl: `D->getASTContext().getDiagnostics()` (it's 
funny how you can retrieve almost all major manager objects if you try hard 
enough).



================
Comment at: clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp:136
+  /// Check if tainted data is used as a custom sink's parameter.
+  static const char MsgCustomSink[];
+  bool checkCustomSinks(const CallExpr *CE, StringRef Name,
----------------
How about `llvm::StringLiteral`?


================
Comment at: clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp:836
+                                           CheckerContext &C) const {
+  auto It = CustomSinks.find(Name);
+  if (It == CustomSinks.end())
----------------
Hmmm, how do we do with qualified names (`MyClass::generateTaint()`, `std::cin 
>>`)?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D59637/new/

https://reviews.llvm.org/D59637



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to