From 33392a74782fc546df1d9aad56ba862084277db4 Mon Sep 17 00:00:00 2001 From: Edwin Flores Date: Tue, 14 Oct 2014 11:05:00 +1300 Subject: [PATCH] Bug 1081355 - Fix use-after-free in ClearKeyDecryptor - r=cpearce --- media/gmp-clearkey/0.1/ClearKeyDecryptionManager.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/media/gmp-clearkey/0.1/ClearKeyDecryptionManager.cpp b/media/gmp-clearkey/0.1/ClearKeyDecryptionManager.cpp index 583300a0b135..e853124a8d77 100644 --- a/media/gmp-clearkey/0.1/ClearKeyDecryptionManager.cpp +++ b/media/gmp-clearkey/0.1/ClearKeyDecryptionManager.cpp @@ -387,7 +387,8 @@ ClearKeyDecryptor::AddRef() uint32_t ClearKeyDecryptor::Release() { - if (!--mRefCnt) { + uint32_t newCount = --mRefCnt; + if (!newCount) { if (mThread) { mThread->Post(new DestroyTask(this)); mThread->Join(); @@ -396,5 +397,5 @@ ClearKeyDecryptor::Release() } } - return mRefCnt; + return newCount; }