balazske added inline comments.

================
Comment at: clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp:1194
-  if (!FD)
+  if (!Call.getOriginExpr())
     return;
 
----------------
Szelethus wrote:
> Szelethus wrote:
> > balazske wrote:
> > > This should be added to avoid later crash (probably not needed for every 
> > > check kind?):
> > > ```
> > >   const FunctionDecl *FD = C.getCalleeDecl(CE);
> > >   if (!FD)
> > >     return;
> > > ```
> > Not all `CallEvent`s have a corresponding `FunctionDecl` or a `CallExpr`, 
> > for instance, `CXXAllocatorCall` corresponds with `CXXNewExpr`, which is 
> > not a `CallExpr`, but it is handled by this checker. For this reason, I 
> > decided to move this check to the individual modeling functions.
> Oh I'm sorry, do we have an actual crash resulting from this? 
I did not look into it by detail but the problem is in 
`MallocChecker::checkOwnershipAttr` with a null `FD`. Probably it is enough to 
insert a return at that point (makes the crash gone on that analyzed project).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D75432



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

Reply via email to