[analyzer] Fix use-after-free in HandleTranslationUnit.
authorAnna Zaks <ganna@apple.com>
Sat, 7 Jan 2012 16:49:46 +0000 (16:49 +0000)
committerAnna Zaks <ganna@apple.com>
Sat, 7 Jan 2012 16:49:46 +0000 (16:49 +0000)
commit17f57b0a009f15065a99df73ac85352002706ac1
treeca1942c5b430962e1d18d914f3de127a837026ca
parent912ae8a33ca0c5ef5c3548619af2d1a9e39389ab
[analyzer] Fix use-after-free in HandleTranslationUnit.

A patch by Dmitri Gribenko!

The attached patch fixes a use-after-free in AnalysisConsumer::HandleTranslationUnit.  The problem is that
BugReporter's destructor runs after AnalysisManager has been already
deleted.  The fix introduces a scope to force correct destruction
order.

A crash happens only when reports have been added in AnalysisConsumer::HandleTranslationUnit's BugReporter. We don't have such checkers in clang so no test.

llvm-svn: 147732
clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp