Bug 1278201 - prevent writing |mRefCnt| after it's freed. r?Ms2ger
MozReview-Commit-ID: G7fZzrGWHmW
--- a/mfbt/tests/TestNotNull.cpp
+++ b/mfbt/tests/TestNotNull.cpp
@@ -62,20 +62,21 @@ public:
if (mRefCnt > mMaxRefCnt) {
mMaxRefCnt = mRefCnt;
}
return mRefCnt;
}
uint32_t Release() {
CHECK(mRefCnt > 0);
- if (mRefCnt == 1) {
+ mRefCnt--;
+ if (mRefCnt == 0) {
delete this;
+ return 0;
}
- mRefCnt--;
return mRefCnt;
}
};
void f_i(int* aPtr) {}
void f_my(MyPtr<int> aPtr) {}
void f_nni(NotNull<int*> aPtr) {}