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