diff --git a/netwerk/protocol/http/nsHttpChannel.cpp b/netwerk/protocol/http/nsHttpChannel.cpp index 3a5e6de10bf5..854ce82d0731 100644 --- a/netwerk/protocol/http/nsHttpChannel.cpp +++ b/netwerk/protocol/http/nsHttpChannel.cpp @@ -1005,8 +1005,14 @@ nsHttpChannel::CallOnStartRequest() } LOG((" calling mListener->OnStartRequest\n")); - nsresult rv = mListener->OnStartRequest(this, mListenerContext); - if (NS_FAILED(rv)) return rv; + nsresult rv; + if (mListener) { + nsresult rv = mListener->OnStartRequest(this, mListenerContext); + if (NS_FAILED(rv)) + return rv; + } else { + NS_WARNING("OnStartRequest skipped because of null listener"); + } // install stream converter if required rv = ApplyContentConversions(); @@ -5194,7 +5200,11 @@ nsHttpChannel::OnStopRequest(nsIRequest *request, nsISupports *ctxt, nsresult st MOZ_ASSERT(NS_FAILED(status), "should have a failure code here"); // NOTE: since we have a failure status, we can ignore the return // value from onStartRequest. - mListener->OnStartRequest(this, mListenerContext); + if (mListener) { + mListener->OnStartRequest(this, mListenerContext); + } else { + NS_WARNING("OnStartRequest skipped because of null listener"); + } } // if this transaction has been replaced, then bail.