From 1c9ed76e337c592e93710ee9b6691711ce439644 Mon Sep 17 00:00:00 2001 From: Stefano Ceccherini Date: Wed, 18 Aug 2010 19:53:08 +0000 Subject: [PATCH] Fix CID 879. We leaked some stuff in case of error. Removed useless check. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38247 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/mail/MailChain.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/kits/mail/MailChain.cpp b/src/kits/mail/MailChain.cpp index cc9cf989f7..64b5aa5c1c 100644 --- a/src/kits/mail/MailChain.cpp +++ b/src/kits/mail/MailChain.cpp @@ -103,14 +103,20 @@ BMailChain::Load(BMessage* settings) break; } - if (!filter_settings.AddItem(filter) || !filter_addons.AddItem(ref)) - break; + if (!filter_settings.AddItem(filter)) { + delete filter; + delete ref; + return B_NO_MEMORY; + } + + if (!filter_addons.AddItem(ref)) { + filter_settings.RemoveItem(filter); + delete filter; + delete ref; + return B_NO_MEMORY; + } } - - if (filter_settings.CountItems() != settings_ct - || filter_addons.CountItems() != addons_ct) - return B_NO_MEMORY; - + return B_OK; }