diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-11-20 09:17:31 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-11-20 09:17:31 +0100 |
commit | 2c0a30185f7f118268dab0907e82dde416f9b698 (patch) | |
tree | e73a12ba9d3754a01c9574dbb6adff98bdb19285 /netwerk/protocol | |
parent | a6b9afbeefa5a508d2af481d87d9aa2cf6843273 (diff) | |
download | uxp-2c0a30185f7f118268dab0907e82dde416f9b698.tar.gz |
Add a nullcheck on pipelined HTTP connections' pushback.
Diffstat (limited to 'netwerk/protocol')
-rw-r--r-- | netwerk/protocol/http/nsHttpPipeline.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/netwerk/protocol/http/nsHttpPipeline.cpp b/netwerk/protocol/http/nsHttpPipeline.cpp index 293de8e39c..4f5777244f 100644 --- a/netwerk/protocol/http/nsHttpPipeline.cpp +++ b/netwerk/protocol/http/nsHttpPipeline.cpp @@ -291,6 +291,11 @@ nsHttpPipeline::PushBack(const char *data, uint32_t length) MOZ_ASSERT(PR_GetCurrentThread() == gSocketThread); MOZ_ASSERT(mPushBackLen == 0, "push back buffer already has data!"); + // Some bad behaving proxies may yank the connection out from under us. + // Check if we still have a connection to work with. + if (!mConnection) + return NS_ERROR_FAILURE; + // If we have no chance for a pipeline (e.g. due to an Upgrade) // then push this data down to original connection if (!mConnection->IsPersistent()) |