From 2edf599eebd370d5a95cafb2a668c4e9e0e9c094 Mon Sep 17 00:00:00 2001 From: halcanary Date: Thu, 26 Mar 2015 14:08:56 -0700 Subject: Fix DiscardableMemoryPool::free race condition BUG=skia:3596 Review URL: https://codereview.chromium.org/1017943003 --- src/lazy/SkDiscardableMemoryPool.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/lazy') diff --git a/src/lazy/SkDiscardableMemoryPool.cpp b/src/lazy/SkDiscardableMemoryPool.cpp index 1f4836604d..5b9d87ff2f 100644 --- a/src/lazy/SkDiscardableMemoryPool.cpp +++ b/src/lazy/SkDiscardableMemoryPool.cpp @@ -188,9 +188,9 @@ SkDiscardableMemory* DiscardableMemoryPool::create(size_t bytes) { } void DiscardableMemoryPool::free(PoolDiscardableMemory* dm) { + SkAutoMutexAcquire autoMutexAcquire(fMutex); // This is called by dm's destructor. if (dm->fPointer != NULL) { - SkAutoMutexAcquire autoMutexAcquire(fMutex); sk_free(dm->fPointer); dm->fPointer = NULL; SkASSERT(fUsed >= dm->fBytes); -- cgit v1.2.3