$OpenBSD$ index 4790568..7e3917b 100644 --- parser/html/nsHtml5StreamParser.cpp.orig Fri Feb 20 15:40:38 2015 +++ parser/html/nsHtml5StreamParser.cpp Fri Feb 20 15:40:38 2015 @@ -796,7 +796,7 @@ nsHtml5StreamParser::WriteStreamBytes(const uint8_t* aFromSegment, // NS_HTML5_STREAM_PARSER_READ_BUFFER_SIZE. if (!mLastBuffer) { NS_WARNING("mLastBuffer should not be null!"); - MarkAsBroken(); + MarkAsBroken(NS_ERROR_NULL_POINTER); return NS_ERROR_NULL_POINTER; } if (mLastBuffer->getEnd() == NS_HTML5_STREAM_PARSER_READ_BUFFER_SIZE) { @@ -902,7 +902,8 @@ nsHtml5StreamParser::OnStartRequest(nsIRequest* aRequest, nsISupports* aContext) * WillBuildModel to be called before the document has had its * script global object set. */ - mExecutor->WillBuildModel(eDTDMode_unknown); + rv = mExecutor->WillBuildModel(eDTDMode_unknown); + NS_ENSURE_SUCCESS(rv, rv); nsRefPtr newBuf = nsHtml5OwningUTF16Buffer::FalliblyCreate( @@ -1003,8 +1004,9 @@ nsHtml5StreamParser::DoStopRequest() if (!mUnicodeDecoder) { uint32_t writeCount; - if (NS_FAILED(FinalizeSniffing(nullptr, 0, &writeCount, 0))) { - MarkAsBroken(); + nsresult rv; + if (NS_FAILED(rv = FinalizeSniffing(nullptr, 0, &writeCount, 0))) { + MarkAsBroken(rv); return; } } else if (mFeedChardet) { @@ -1076,7 +1078,7 @@ nsHtml5StreamParser::DoDataAvailable(const uint8_t* aBuffer, uint32_t aLength) rv = SniffStreamBytes(aBuffer, aLength, &writeCount); } if (NS_FAILED(rv)) { - MarkAsBroken(); + MarkAsBroken(rv); return; } NS_ASSERTION(writeCount == aLength, "Wrong number of stream bytes written/sniffed."); @@ -1662,13 +1664,13 @@ nsHtml5StreamParser::TimerFlush() } void -nsHtml5StreamParser::MarkAsBroken() +nsHtml5StreamParser::MarkAsBroken(nsresult aRv) { NS_ASSERTION(IsParserThread(), "Wrong thread!"); mTokenizerMutex.AssertCurrentThreadOwns(); Terminate(); - mTreeBuilder->MarkAsBroken(); + mTreeBuilder->MarkAsBroken(aRv); mozilla::DebugOnly hadOps = mTreeBuilder->Flush(false); NS_ASSERTION(hadOps, "Should have had the markAsBroken op!"); if (NS_FAILED(NS_DispatchToMainThread(mExecutorFlusher))) {