diff --git a/mozilla/parser/htmlparser/src/nsHTMLTokens.cpp b/mozilla/parser/htmlparser/src/nsHTMLTokens.cpp
index b528ed644c8..17e88e2d11b 100644
--- a/mozilla/parser/htmlparser/src/nsHTMLTokens.cpp
+++ b/mozilla/parser/htmlparser/src/nsHTMLTokens.cpp
@@ -436,7 +436,6 @@ nsresult CEndToken::Consume(PRUnichar aChar, nsScanner& aScanner,PRInt32 aFlag)
if (NS_SUCCEEDED(result) && !(aFlag & NS_IPARSER_FLAG_VIEW_SOURCE)) {
result = aScanner.SkipWhitespace(mNewlineCount);
- NS_ENSURE_SUCCESS(result, result);
}
if (kEOF == result && !aScanner.IsIncremental()) {
@@ -580,10 +579,13 @@ nsresult CTextToken::Consume(PRUnichar aChar, nsScanner& aScanner,PRInt32 aFlag)
// be part of this text token (we wouldn't have come here if it weren't)
aScanner.CurrentPosition(origin);
start = origin;
- ++start;
- aScanner.SetPosition(start);
aScanner.EndReading(end);
+ NS_ASSERTION(start != end, "Calling CTextToken::Consume when already at the "
+ "end of a document is a bad idea.");
+
+ aScanner.SetPosition(++start);
+
while((NS_OK==result) && (!done)) {
result=aScanner.ReadUntil(start, end, theEndCondition, PR_FALSE);
if(NS_OK==result) {