[analyzer] Check for returning null references in ReturnUndefChecker.
Officially in the C++ standard, a null reference cannot exist. However, it's still very easy to create one: int &getNullRef() { int *p = 0; return *p; } We already check that binds to reference regions don't create null references. This patch checks that we don't create null references by returning, either. <rdar://problem/13364378> llvm-svn: 176601
Showing
- clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp 66 additions, 30 deletionsclang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp
- clang/test/Analysis/inlining/false-positive-suppression.cpp 12 additions, 0 deletionsclang/test/Analysis/inlining/false-positive-suppression.cpp
- clang/test/Analysis/inlining/path-notes.cpp 118 additions, 0 deletionsclang/test/Analysis/inlining/path-notes.cpp
- clang/test/Analysis/reference.cpp 14 additions, 5 deletionsclang/test/Analysis/reference.cpp
Loading
Please register or sign in to comment