]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
The _queued_write objects dequeued for writing were not deleted,
authorrousskov <>
Tue, 24 Jul 2007 22:15:32 +0000 (22:15 +0000)
committerrousskov <>
Tue, 24 Jul 2007 22:15:32 +0000 (22:15 +0000)
causing a memory leak when 'ufs' filesystem was in use.

src/fs/ufs/store_io_ufs.cc

index 11a5b9a0adc340202414f1680a54d9dd743ad42b..6158a315784ea57eb9df40b29dc5cb886622e1ff 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_io_ufs.cc,v 1.38 2007/04/30 16:56:17 wessels Exp $
+ * $Id: store_io_ufs.cc,v 1.39 2007/07/24 16:15:32 rousskov Exp $
  *
  * DEBUG: section 79    Storage Manager UFS Interface
  * AUTHOR: Duane Wessels
@@ -279,6 +279,7 @@ UFSStoreState::doWrite()
          * write_pending flag.
          */
         q->free_func((void*)q->buf);
+        delete q;
         return;
     }
 
@@ -295,6 +296,7 @@ UFSStoreState::doWrite()
     debugs(79, 3, HERE << this << " calling theFile->write(" << q->size << ")");
 
     theFile->write(new WriteRequest(q->buf, q->offset, q->size, q->free_func));
+    delete q;
 }
 
 void