[PATCH] D75432: [analyzer][NFC][MallocChecker] Convert many parameters into CallEvent
Balázs Kéri via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed May 20 07:35:09 PDT 2020
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
More information about the cfe-commits
mailing list