[PATCH] D79704: [Analyzer] [NFC] Parameter Regions

Balogh, Ádám via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu May 14 04:15:36 PDT 2020


baloghadamsoftware marked an inline comment as done.
baloghadamsoftware added a comment.

Good news: I executed an analysis with all open-source checks enabled for several open-source projects: //BitCoint//, //CURL//, //OpenSSL//, //PostGreS//, //TMux//, //Xerces// using the patched and the non-patched version of //Clang//. There is no difference in the set of bug reports. Only one error message became more detailed for //BitCoin// which uses //Boost//: instead of `Potential memory leak` I get `Potential leak of memory pointed to by 'Finder.m_Pred.m_Storage.m_dynSet'` in line `135` of //Boost// header `algorithm/string/detail/classification.hpp` and almost the same without `Finder.` in line 139.



================
Comment at: clang/lib/StaticAnalyzer/Core/MemRegion.cpp:191
+const ParmVarDecl *ParamRegion::getDecl() const {
+  const Decl *D = getStackFrame()->getDecl();
+
----------------
NoQ wrote:
> This doesn't work when the callee is unknown.
Please give me an example where the callee is unknown. As I wrote, originally I put a `getExpr()` method here as well and `getType()` fell back to it if it could not find the `Decl()`. However, it was never invoked on the whole test suite. (I put an `assert(false)` into it, and did not get a crash.


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

https://reviews.llvm.org/D79704





More information about the cfe-commits mailing list