From 162c0738fd8bab817a571036c2e724c398bb66a4 Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Thu, 21 Jan 2016 11:36:36 -0500 Subject: [PATCH] Bug 1241522 - handle OOM in nsExpatDriver::HandleCharacterData; r=hsivonen --- parser/htmlparser/nsExpatDriver.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/parser/htmlparser/nsExpatDriver.cpp b/parser/htmlparser/nsExpatDriver.cpp index 2e672f99c502..ac66f6a19169 100644 --- a/parser/htmlparser/nsExpatDriver.cpp +++ b/parser/htmlparser/nsExpatDriver.cpp @@ -33,6 +33,7 @@ #include "mozilla/Logging.h" +using mozilla::fallible; using mozilla::LogLevel; #define kExpatSeparatorChar 0xFFFF @@ -415,7 +416,9 @@ nsExpatDriver::HandleCharacterData(const char16_t *aValue, NS_ASSERTION(mSink, "content sink not found!"); if (mInCData) { - mCDataText.Append(aValue, aLength); + if (!mCDataText.Append(aValue, aLength, fallible)) { + MaybeStopParser(NS_ERROR_OUT_OF_MEMORY); + } } else if (mSink) { nsresult rv = mSink->HandleCharacterData(aValue, aLength);