summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
diff options
context:
space:
mode:
authorMikhail Korobov <kmike84@gmail.com>2015-08-18 03:20:21 +0500
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-08-26 09:21:17 +0000
commit4a631c3a6e52ae53a2bad45e185cd51927d94bff (patch)
treeb9572eb0c5c4016dfe92347ffcbf01bdcdf5a0c9 /Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
parentc117978bb8781134f74dfd0313c00476d3df6364 (diff)
Fix QNetworkReply::abort and QNetworkReply::close
Don't read from closed QNetworkReply instances. This fixes QWebView hangs on some of the web sites when reply->abort() or reply->close() is called. [ChangeLog][QtWebKit] fixed reply->abort() and reply->close() handling. Change-Id: I8d46ad115954369b9de0b5a74b118fc3bf2f1092 Task-number: QTBUG-47654 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Diffstat (limited to 'Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp')
-rw-r--r--Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp b/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
index e24d0b1c8..e07bc76a9 100644
--- a/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
+++ b/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
@@ -683,6 +683,10 @@ void QNetworkReplyHandler::forwardData()
{
ASSERT(m_replyWrapper && m_replyWrapper->reply() && !wasAborted() && !m_replyWrapper->wasRedirected());
+ // reply may be closed if reply->close() or reply->abort() is called
+ if (!m_replyWrapper->reply()->isReadable())
+ return;
+
ResourceHandleClient* client = m_resourceHandle->client();
if (!client)
return;