diff options
author | Matt A. Tobin <email@mattatobin.com> | 2019-11-10 21:59:52 -0500 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2019-11-10 21:59:52 -0500 |
commit | cea77b76b3fef912bd79e777f97d353aa50474b6 (patch) | |
tree | 5f4792d164e62e4b9a257811dd259cc40c053683 /mailnews/compose/src | |
parent | 05667b0d48b50f434ea48a3065adea6c0a88f226 (diff) | |
download | UXP-cea77b76b3fef912bd79e777f97d353aa50474b6.tar UXP-cea77b76b3fef912bd79e777f97d353aa50474b6.tar.gz UXP-cea77b76b3fef912bd79e777f97d353aa50474b6.tar.lz UXP-cea77b76b3fef912bd79e777f97d353aa50474b6.tar.xz UXP-cea77b76b3fef912bd79e777f97d353aa50474b6.zip |
Bug 1333038 - Use 'modern' pointers to fix crash due to nsMsgLineStreamBuffer object being deleted while still in use.
Suspected "use after free" in nsMsgLineStreamBuffer::ReadNextLine() leading to crash since object may be destroyed while still in use on another thread.
Tag #1273
Diffstat (limited to 'mailnews/compose/src')
-rw-r--r-- | mailnews/compose/src/nsSmtpProtocol.cpp | 1 | ||||
-rw-r--r-- | mailnews/compose/src/nsSmtpProtocol.h | 2 |
2 files changed, 1 insertions, 2 deletions
diff --git a/mailnews/compose/src/nsSmtpProtocol.cpp b/mailnews/compose/src/nsSmtpProtocol.cpp index 04347c1d0..522890c78 100644 --- a/mailnews/compose/src/nsSmtpProtocol.cpp +++ b/mailnews/compose/src/nsSmtpProtocol.cpp @@ -236,7 +236,6 @@ nsSmtpProtocol::~nsSmtpProtocol() { // free our local state PR_Free(m_dataBuf); - delete m_lineStreamBuffer; } void nsSmtpProtocol::Initialize(nsIURI * aURL) diff --git a/mailnews/compose/src/nsSmtpProtocol.h b/mailnews/compose/src/nsSmtpProtocol.h index c8cbf1406..b1370d4be 100644 --- a/mailnews/compose/src/nsSmtpProtocol.h +++ b/mailnews/compose/src/nsSmtpProtocol.h @@ -143,7 +143,7 @@ private: int32_t m_previousResponseCode; int32_t m_continuationResponse; nsCString m_responseText; /* text returned from Smtp server */ - nsMsgLineStreamBuffer *m_lineStreamBuffer; // used to efficiently extract lines from the incoming data stream + RefPtr<nsMsgLineStreamBuffer> m_lineStreamBuffer; // used to efficiently extract lines from the incoming data stream nsTArray<nsCString> m_addresses; uint32_t m_addressesLeft; |