Merge "Silence a use-after-free warning from the analyzer" am: 8c853c43cc am: 584853bdb0

am: 84b998f437

Change-Id: I3136eda15e1fb1464d398a259b0482a1bdba42d0
This commit is contained in:
George Burgess IV 2017-10-02 22:44:15 +00:00 committed by android-build-merger
commit 402c9dc99f
1 changed files with 5 additions and 0 deletions

View File

@ -442,6 +442,11 @@ void RefBase::decStrong(const void* id) const
// and all accesses to refs happen before its deletion in the final decWeak.
// The destructor can safely access mRefs because either it's deleting
// mRefs itself, or it's running entirely before the final mWeak decrement.
//
// Since we're doing atomic loads of `flags`, the static analyzer assumes
// they can change between `delete this;` and `refs->decWeak(id);`. This is
// not the case. The analyzer may become more okay with this patten when
// https://bugs.llvm.org/show_bug.cgi?id=34365 gets resolved. NOLINTNEXTLINE
refs->decWeak(id);
}