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 | |
parent | a6b9afbeefa5a508d2af481d87d9aa2cf6843273 (diff) | |
download | UXP-2c0a30185f7f118268dab0907e82dde416f9b698.tar UXP-2c0a30185f7f118268dab0907e82dde416f9b698.tar.gz UXP-2c0a30185f7f118268dab0907e82dde416f9b698.tar.lz UXP-2c0a30185f7f118268dab0907e82dde416f9b698.tar.xz UXP-2c0a30185f7f118268dab0907e82dde416f9b698.zip |
Add a nullcheck on pipelined HTTP connections' pushback.
-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 293de8e39..4f5777244 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()) |