From 462dd94a1f0cb7e94a840e26bfd5f45e5a77714f Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Wed, 24 Feb 2010 16:47:27 +0000 Subject: [PATCH] Don't leak the object when allocating a magazine failed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35605 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/slab/ObjectDepot.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/system/kernel/slab/ObjectDepot.cpp b/src/system/kernel/slab/ObjectDepot.cpp index 63afe12e58..fa65d47d71 100644 --- a/src/system/kernel/slab/ObjectDepot.cpp +++ b/src/system/kernel/slab/ObjectDepot.cpp @@ -290,8 +290,10 @@ object_depot_store(object_depot* depot, void* object, uint32 flags) 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();