Manually revert Bug 1494764 - Removed MOZ_ASSERT but now still process line where it would occur.

Tag #1273
This commit is contained in:
Matt A. Tobin 2019-11-12 22:58:56 -05:00 committed by Roy Tam
commit 725462eff3

View file

@ -3169,13 +3169,11 @@ bool nsImapServerResponseParser::msg_fetch_literal(bool chunk, int32_t origin)
if (fTotalDownloadSize > 0)
fServerConnection.PercentProgressUpdateEvent(0, charsReadSoFar + origin, fTotalDownloadSize);
}
if (!lastChunk && (charsReadSoFar > numberOfCharsInThisChunk))
if (charsReadSoFar > numberOfCharsInThisChunk)
{
// This is the last line of a chunk but not the last chunk of a multi-chunk
// message or the only "chunk" of a smaller non-chunked message. "Literal" here
// means actual email data and its EOLs, without imap protocol elements and their
// EOLs. End of line is defined by two characters \r\n (i.e., CRLF, 0xd,0xa)
// specified by RFC822.
// This is the last line of a chunk. "Literal" here means actual email data and
// its EOLs, without imap protocol elements and their EOLs. End of line is
// defined by two characters \r\n (i.e., CRLF, 0xd,0xa) specified by RFC822.
// Here is an example the most typical last good line of a chunk:
// "1s8AA5i4AAvF4QAG6+sAAD0bAPsAAAAA1OAAC)\r\n", where ")\r\n" are non-literals.
// This an example of the last "good" line of a chunk that terminates with \r\n
@ -3245,7 +3243,7 @@ bool nsImapServerResponseParser::msg_fetch_literal(bool chunk, int32_t origin)
}
else
{
// Not the last line of a chunk or any line when lastChunk.
// Not the last line of a chunk.
if (!fNextChunkStartsWithNewline)
{
// Process unmodified fCurrentLine string.