From 9c9b64e5700df1141ee305cb15c6ff313c2bd227 Mon Sep 17 00:00:00 2001 From: Jan de Mooij Date: Thu, 14 Jan 2016 15:19:24 +0100 Subject: [PATCH] Bug 1237201 part 4 - Handle Vector OOM in ipc/. r=billm --- ipc/glue/MessageChannel.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ipc/glue/MessageChannel.cpp b/ipc/glue/MessageChannel.cpp index 7db849063dcc..153532985aeb 100644 --- a/ipc/glue/MessageChannel.cpp +++ b/ipc/glue/MessageChannel.cpp @@ -226,7 +226,8 @@ public: if (mThat.mCxxStackFrames.empty()) mThat.EnteredCxxStack(); - mThat.mCxxStackFrames.append(InterruptFrame(direction, msg)); + if (!mThat.mCxxStackFrames.append(InterruptFrame(direction, msg))) + MOZ_CRASH(); const InterruptFrame& frame = mThat.mCxxStackFrames.back(); @@ -778,7 +779,8 @@ MessageChannel::ProcessPendingRequests() for (MessageQueue::iterator it = mPending.begin(); it != mPending.end(); ) { Message &msg = *it; if (!ShouldDeferMessage(msg)) { - toProcess.append(Move(msg)); + if (!toProcess.append(Move(msg))) + MOZ_CRASH(); it = mPending.erase(it); continue; }