summaryrefslogtreecommitdiff
path: root/netwerk
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@gmail.com>2018-11-20 09:17:31 +0100
committerwolfbeast <mcwerewolf@gmail.com>2018-11-20 09:17:31 +0100
commit78d0a601dc39816752314599428610249b591b24 (patch)
treee73a12ba9d3754a01c9574dbb6adff98bdb19285 /netwerk
parent4d75ec5f3a4c5bc12105d74dd711c714a8e5f79a (diff)
downloaduxp-78d0a601dc39816752314599428610249b591b24.tar.gz
Add a nullcheck on pipelined HTTP connections' pushback.
Diffstat (limited to 'netwerk')
-rw-r--r--netwerk/protocol/http/nsHttpPipeline.cpp5
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())