diff --git a/netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp b/netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp index 74794caf74e..55a1cf4b5e1 100644 --- a/netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp +++ b/netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp @@ -2483,9 +2483,14 @@ void nsFtpState::DataConnectionEstablished() { LOG(("(%x) Data Connection established.", this)); - mWaitingForDConn = PR_FALSE; + // If we no longer have a channel, we don't need this connection + if (!mChannel) { + LOG((" Ignoring data connection")); + return; + } + // sending empty string with (mWaitingForDConn == PR_FALSE) will cause the // control socket to write out its buffer. nsCString a("");