diff options
| author | Ted Kremenek <kremenek@apple.com> | 2008-03-31 15:02:58 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2008-03-31 15:02:58 +0000 |
| commit | f646774f32dc2aaeb38eb7aa104ad839aff24ac7 (patch) | |
| tree | 2c3fe51bf12e05581f697e7034b712c701e75ee7 /clang/lib/Analysis/GRSimpleVals.cpp | |
| parent | eb1242a083e12c4cce126dbeee19ad214ac6dbe3 (diff) | |
| download | bcm5719-llvm-f646774f32dc2aaeb38eb7aa104ad839aff24ac7.tar.gz bcm5719-llvm-f646774f32dc2aaeb38eb7aa104ad839aff24ac7.zip | |
Added path-sensitive check for return statements that return the address
of a stack variable. This is the path-sensitive version of a check that
is already done during semantic analysis.
llvm-svn: 48980
Diffstat (limited to 'clang/lib/Analysis/GRSimpleVals.cpp')
| -rw-r--r-- | clang/lib/Analysis/GRSimpleVals.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Analysis/GRSimpleVals.cpp b/clang/lib/Analysis/GRSimpleVals.cpp index 94cedc03529..697d256119d 100644 --- a/clang/lib/Analysis/GRSimpleVals.cpp +++ b/clang/lib/Analysis/GRSimpleVals.cpp @@ -166,6 +166,11 @@ unsigned RunGRSimpleVals(CFG& cfg, Decl& CD, ASTContext& Ctx, CheckerState->undef_receivers_begin(), CheckerState->undef_receivers_end(), "Receiver in message expression is an uninitialized value."); + + EmitWarning(Diag, SrcMgr, + CheckerState->ret_stackaddr_begin(), + CheckerState->ret_stackaddr_end(), + "Address of stack-allocated variable returned."); FoundationCheck.get()->ReportResults(Diag); #ifndef NDEBUG |

