xazax.hun added inline comments.

================
Comment at: lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp:207
 
-  if (mayInvalidateBuffer(Call)) {
-    if (const PtrSet *PS = State->get<RawPtrMap>(ObjRegion)) {
-      // Mark all pointer symbols associated with the deleted object released.
-      const Expr *Origin = Call.getOriginExpr();
-      for (const auto Symbol : *PS) {
-        // NOTE: `Origin` may be null, and will be stored so in the symbol's
-        // `RefState` in MallocChecker's `RegionState` program state map.
-        State = allocation_state::markReleased(State, Symbol, Origin);
-      }
-      State = State->remove<RawPtrMap>(ObjRegion);
-      C.addTransition(State);
-      return;
+void InnerPointerChecker::checkPreCall(const CallEvent &Call,
+                                       CheckerContext &C) const {
----------------
NoQ wrote:
> I believe that this should also go into `PostCall`. Symbols aren't released 
> until some point //within// the call.
Oh, I see. But is it guaranteed that the symbols are not garbage collected 
until post call? Also, the environment will always contain all the bindings for 
the arguments?


Repository:
  rC Clang

https://reviews.llvm.org/D49656



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

Reply via email to