[haiku-commits] r35605 - haiku/trunk/src/system/kernel/slab

  • From: ingo_weinhold@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 24 Feb 2010 17:47:27 +0100 (CET)

Author: bonefish
Date: 2010-02-24 17:47:27 +0100 (Wed, 24 Feb 2010)
New Revision: 35605
Changeset: http://dev.haiku-os.org/changeset/35605/haiku

Modified:
   haiku/trunk/src/system/kernel/slab/ObjectDepot.cpp
Log:
Don't leak the object when allocating a magazine failed.


Modified: haiku/trunk/src/system/kernel/slab/ObjectDepot.cpp
===================================================================
--- haiku/trunk/src/system/kernel/slab/ObjectDepot.cpp  2010-02-24 15:10:37 UTC 
(rev 35604)
+++ haiku/trunk/src/system/kernel/slab/ObjectDepot.cpp  2010-02-24 16:47:27 UTC 
(rev 35605)
@@ -290,8 +290,10 @@
                        readLocker.Unlock();
 
                        DepotMagazine* magazine = alloc_magazine(depot, flags);
-                       if (magazine == NULL)
+                       if (magazine == NULL) {
+                               depot->return_object(depot, depot->cookie, 
object, flags);
                                return 0;
+                       }
 
                        readLocker.Lock();
                        interruptsLocker.Lock();


Other related posts: