Bug 612291 - crash [@ nsMsgSaveAsListener::OnDataAvailable(nsIRequest*, nsISupports*, nsIInputStream*, unsigned int, unsigned int)]; r=bienvenu
Bug 612291 - crash [@ nsMsgSaveAsListener::OnDataAvailable(nsIRequest*, nsISupports*, nsIInputStream*, unsigned int, unsigned int)]; r=bienvenu
--- a/mailnews/base/util/nsMsgMailNewsUrl.cpp
+++ b/mailnews/base/util/nsMsgMailNewsUrl.cpp
@@ -883,22 +883,23 @@ NS_IMETHODIMP nsMsgSaveAsListener::OnDat
return NS_ERROR_FAILURE;
// make sure we don't insert another LF, accidentally
if (lastCharInPrevBuf == '\r' && *start == '\n')
start++;
while (start && end)
{
- if (PL_strncasecmp(start, "X-Mozilla-Status:", 17) &&
+ if (m_outputStream &&
+ PL_strncasecmp(start, "X-Mozilla-Status:", 17) &&
PL_strncasecmp(start, "X-Mozilla-Status2:", 18) &&
PL_strncmp(start, "From - ", 7))
{
rv = m_outputStream->Write(start, end-start, &writeCount);
- rv = m_outputStream->Write(lineEnding, lineEndingLength, &writeCount);
+ rv |= m_outputStream->Write(lineEnding, lineEndingLength, &writeCount);
}
start = end+linebreak_len;
if (start >= m_dataBuffer + m_leftOver)
{
maxReadCount = SAVE_BUF_SIZE;
m_leftOver = 0;
break;
}