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 | 78d0a601dc39816752314599428610249b591b24 (patch) | |
tree | e73a12ba9d3754a01c9574dbb6adff98bdb19285 /netwerk | |
parent | 4d75ec5f3a4c5bc12105d74dd711c714a8e5f79a (diff) | |
download | uxp-78d0a601dc39816752314599428610249b591b24.tar.gz |
Add a nullcheck on pipelined HTTP connections' pushback.
Diffstat (limited to 'netwerk')
-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()) |