Bug 353280 nsThread::PushEventQueue leaks queue if !queue->IsInitialized (nsEventQueue::nsEventQueue() : mMonitor(nsAutoMonitor::NewMonitor("xpcom.eventqueue")) fails)
patch by darin r=timeless
This commit is contained in:
@@ -562,8 +562,10 @@ NS_IMETHODIMP
|
|||||||
nsThread::PushEventQueue(nsIThreadEventFilter *filter)
|
nsThread::PushEventQueue(nsIThreadEventFilter *filter)
|
||||||
{
|
{
|
||||||
nsChainedEventQueue *queue = new nsChainedEventQueue(filter);
|
nsChainedEventQueue *queue = new nsChainedEventQueue(filter);
|
||||||
if (!queue || !queue->IsInitialized())
|
if (!queue || !queue->IsInitialized()) {
|
||||||
|
delete queue;
|
||||||
return NS_ERROR_OUT_OF_MEMORY;
|
return NS_ERROR_OUT_OF_MEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
nsAutoLock lock(mLock);
|
nsAutoLock lock(mLock);
|
||||||
queue->mNext = mEvents;
|
queue->mNext = mEvents;
|
||||||
|
|||||||
Reference in New Issue
Block a user