[PATCH] D75432: [analyzer][NFC][MallocChecker] Convert many parameters into CallEvent
Kristóf Umann via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed May 20 07:02:22 PDT 2020
Szelethus marked 4 inline comments as done.
Szelethus added inline comments.
================
Comment at: clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp:614
+ static ProgramStateRef CallocMem(CheckerContext &C, const CallEvent &Call,
ProgramStateRef State);
----------------
NoQ wrote:
> Is the state parameter still necessary here?
Not as per its current usages in the code, but it does make sense, if we do some prechecks and modify the state before calling this functions.
================
Comment at: clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp:1194
- if (!FD)
+ if (!Call.getOriginExpr())
return;
----------------
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?
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