Charusso added inline comments.

================
Comment at: 
clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicSize.h:29-31
+/// \returns The stored dynamic size expression for the region \p MR.
+const Expr *getDynamicSizeExpr(ProgramStateRef State, const MemRegion *MR);
+
----------------
NoQ wrote:
> Why do we need this?
I think as the checkers are growing and we push more-and-more allocation 
modeling so that at some point the Git's 8-parameter allocator's size 
expression could be retrieved so easily. This is the full arsenal of my 
buffer-overflow checker's needs, so I have pushed it here. Also it made a 
meaning to have a helper-class with two fields (one would be lame).


================
Comment at: clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp:1416
+                           SizeInBytes.castAs<DefinedOrUnknownSVal>(),
+                           NE->getArraySize().getValueOr(nullptr));
   }
----------------
My problem was only that. It partially repeats the 
`ExprEngine::bindReturnValue()`, which is a wonky design. I will look into that 
later.


================
Comment at: clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp:180
-  // Assume should not fail at this point.
-  assert(state);
 
----------------
NoQ wrote:
> This gets rid of the assertion failure in 
> https://bugs.llvm.org/show_bug.cgi?id=28450 by implementing my suggestion 
> (2). Yay.
Cool!


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

https://reviews.llvm.org/D69726



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

Reply via email to