From f646774f32dc2aaeb38eb7aa104ad839aff24ac7 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Mon, 31 Mar 2008 15:02:58 +0000 Subject: 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 --- clang/lib/Analysis/GRSimpleVals.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'clang/lib/Analysis/GRSimpleVals.cpp') 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 -- cgit v1.2.3