PR21202: Memory leak in Windows RWMutexImpl when using SRWLOCK
authorDavid Blaikie <dblaikie@gmail.com>
Tue, 21 Oct 2014 00:34:39 +0000 (00:34 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Tue, 21 Oct 2014 00:34:39 +0000 (00:34 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220251 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/Windows/RWMutex.inc

index 00d0e93d8d58647d0b0952e862f15e6d3899b869..2d1d25f67b8aa646a009a1efa7588b46128e36a2 100644 (file)
@@ -84,12 +84,10 @@ RWMutexImpl::RWMutexImpl() {
 }
 
 RWMutexImpl::~RWMutexImpl() {
 }
 
 RWMutexImpl::~RWMutexImpl() {
-  if (sHasSRW) {
-    // Nothing to do in the case of slim reader/writers
-  } else {
+  if (!sHasSRW)
     DeleteCriticalSection(static_cast<LPCRITICAL_SECTION>(data_));
     DeleteCriticalSection(static_cast<LPCRITICAL_SECTION>(data_));
-    free(data_);
-  }
+  // Nothing to do in the case of slim reader/writers except free the memory.
+  free(data_);
 }
 
 bool RWMutexImpl::reader_acquire() {
 }
 
 bool RWMutexImpl::reader_acquire() {