From b4b2f9fbd6e1d68a724cedc07c622ecc6e05ed4c Mon Sep 17 00:00:00 2001 From: "timeless%mozdev.org" Date: Mon, 16 Oct 2006 08:02:37 +0000 Subject: [PATCH] Bug 353280 nsThread::PushEventQueue leaks queue if !queue->IsInitialized (nsEventQueue::nsEventQueue() : mMonitor(nsAutoMonitor::NewMonitor("xpcom.eventqueue")) fails) patch by darin r=timeless git-svn-id: svn://10.0.0.236/trunk@213695 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/xpcom/threads/nsThread.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mozilla/xpcom/threads/nsThread.cpp b/mozilla/xpcom/threads/nsThread.cpp index 525f0182f6c..0c06f5374fe 100644 --- a/mozilla/xpcom/threads/nsThread.cpp +++ b/mozilla/xpcom/threads/nsThread.cpp @@ -562,8 +562,10 @@ NS_IMETHODIMP nsThread::PushEventQueue(nsIThreadEventFilter *filter) { nsChainedEventQueue *queue = new nsChainedEventQueue(filter); - if (!queue || !queue->IsInitialized()) + if (!queue || !queue->IsInitialized()) { + delete queue; return NS_ERROR_OUT_OF_MEMORY; + } nsAutoLock lock(mLock); queue->mNext = mEvents;