diff options
author | Markus Goetz <Markus.Goetz@nokia.com> | 2010-08-12 15:29:29 (GMT) |
---|---|---|
committer | Markus Goetz <Markus.Goetz@nokia.com> | 2010-08-12 15:35:10 (GMT) |
commit | 677b96b3bfcbccae978f0d63f7e16a35783c0eec (patch) | |
tree | 360c83a75cde7acef54ad6e38c3afbfaaaeaf829 /src/network | |
parent | 97f7299854197c6093aaefc1ec174209d68892e7 (diff) | |
download | Qt-677b96b3bfcbccae978f0d63f7e16a35783c0eec.zip Qt-677b96b3bfcbccae978f0d63f7e16a35783c0eec.tar.gz Qt-677b96b3bfcbccae978f0d63f7e16a35783c0eec.tar.bz2 |
QNAM HTTP: Fix crash related to aborted uploads
Task-number: QTBUG-12285
Diffstat (limited to 'src/network')
-rw-r--r-- | src/network/access/qhttpnetworkconnection.cpp | 2 | ||||
-rw-r--r-- | src/network/access/qhttpnetworkconnectionchannel.cpp | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index 9e2b85e..ae4d257 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -653,6 +653,8 @@ void QHttpNetworkConnectionPrivate::removeReply(QHttpNetworkReply *reply) // is the reply associated the currently processing of this channel? if (channels[i].reply == reply) { channels[i].reply = 0; + channels[i].request = QHttpNetworkRequest(); + channels[i].resendCurrent = false; if (!reply->isFinished() && !channels[i].alreadyPipelinedRequests.isEmpty()) { // the reply had to be prematurely removed, e.g. it was not finished diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp index d3576dd..6437f6f 100644 --- a/src/network/access/qhttpnetworkconnectionchannel.cpp +++ b/src/network/access/qhttpnetworkconnectionchannel.cpp @@ -647,8 +647,10 @@ void QHttpNetworkConnectionChannel::allDone() // finished request. // Note that this may trigger a segfault at some other point. But then we can fix the underlying // problem. - if (!resendCurrent) + if (!resendCurrent) { + request = QHttpNetworkRequest(); reply = 0; + } // move next from pipeline to current request if (!alreadyPipelinedRequests.isEmpty()) { |