Bug 983243 - WSS WebSocket leaks TCP/IP connection if closed prematurely r=mcmanus

Prevent WebSocketChannel::OnTransportAvailable from reinitializing the channel's references after it has been closed.
This commit is contained in:
Valentin Gosu
2014-06-04 02:15:14 +03:00
parent 7811ede4b2
commit 30d2c4400c

View File

@@ -2942,6 +2942,11 @@ WebSocketChannel::OnTransportAvailable(nsISocketTransport *aTransport,
LOG(("WebSocketChannel::OnTransportAvailable %p [%p %p %p] rcvdonstart=%d\n",
this, aTransport, aSocketIn, aSocketOut, mGotUpgradeOK));
if (mStopped) {
LOG(("WebSocketChannel::OnTransportAvailable: Already stopped"));
return NS_OK;
}
NS_ABORT_IF_FALSE(NS_IsMainThread(), "not main thread");
NS_ABORT_IF_FALSE(!mRecvdHttpUpgradeTransport, "OTA duplicated");
NS_ABORT_IF_FALSE(aSocketIn, "OTA with invalid socketIn");