[analyzer] Resolve another bug where the name of the leaked object was not printed properly
Differential Revision: https://reviews.llvm.org/D55528 llvm-svn: 348819
This commit is contained in:
parent
be5e5874f6
commit
79ed11c12e
|
@ -405,11 +405,11 @@ static AllocationInfo GetAllocationSite(ProgramStateManager &StateMgr,
|
|||
|
||||
if (FB) {
|
||||
const MemRegion *R = FB.getRegion();
|
||||
const VarRegion *VR = R->getBaseRegion()->getAs<VarRegion>();
|
||||
// Do not show local variables belonging to a function other than
|
||||
// where the error is reported.
|
||||
if (!VR || VR->getStackFrame() == LeakContext->getStackFrame())
|
||||
FirstBinding = R;
|
||||
if (auto MR = dyn_cast<StackSpaceRegion>(R->getMemorySpace()))
|
||||
if (MR->getStackFrame() == LeakContext->getStackFrame())
|
||||
FirstBinding = R;
|
||||
}
|
||||
|
||||
// AllocationNode is the last node in which the symbol was tracked.
|
||||
|
|
|
@ -153,8 +153,8 @@ void check_free_use_after_free() {
|
|||
|
||||
unsigned int check_leak_explicit_new() {
|
||||
OSArray *arr = new OSArray; // expected-note{{Operator new returns an OSObject of type OSArray with a +1 retain count}}
|
||||
return arr->getCount(); // expected-note{{Object leaked: allocated object of type OSArray is not referenced later in this execution path and has a retain count of +1}}
|
||||
// expected-warning@-1{{Potential leak of an object of type OSArray}}
|
||||
return arr->getCount(); // expected-note{{Object leaked: object allocated and stored into 'arr' is not referenced later in this execution path and has a retain count of +1}}
|
||||
// expected-warning@-1{{Potential leak of an object stored into 'arr'}}
|
||||
}
|
||||
|
||||
unsigned int check_leak_factory() {
|
||||
|
|
Loading…
Reference in New Issue