diff options
author | Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> | 2014-10-14 15:51:45 -0300 |
---|---|---|
committer | Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> | 2014-10-14 15:51:45 -0300 |
commit | 7a6b5a2d25c25fdddbfd667f5c96460d06c8a1b4 (patch) | |
tree | d08b5e670a560b32046fb92cf2b02a60a13e594d /debian/patches/fix_crash_when_a_network_request_is_aborted_while_forwarding_data.patch | |
parent | c24e2b032601b9cfe1277a5ca823808558d8c4fe (diff) | |
download | qt5webkit-7a6b5a2d25c25fdddbfd667f5c96460d06c8a1b4.tar.gz |
Backport three patches to fix crashes
Diffstat (limited to 'debian/patches/fix_crash_when_a_network_request_is_aborted_while_forwarding_data.patch')
-rw-r--r-- | debian/patches/fix_crash_when_a_network_request_is_aborted_while_forwarding_data.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/debian/patches/fix_crash_when_a_network_request_is_aborted_while_forwarding_data.patch b/debian/patches/fix_crash_when_a_network_request_is_aborted_while_forwarding_data.patch new file mode 100644 index 0000000..19ac009 --- /dev/null +++ b/debian/patches/fix_crash_when_a_network_request_is_aborted_while_forwarding_data.patch @@ -0,0 +1,38 @@ +From 13ebee35e169a8b1210851ec494951815c70620c Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen <allan.jensen@digia.com> +Date: Mon, 13 Oct 2014 15:32:14 +0200 +Subject: [PATCH] Fix crash when a network-request is aborted while forwarding + data + +Since we forward data block-wise a network request may be aborted while +we are still forwarding received data. In that case we should stop the +forwarding. + +Task-number: QTBUG-41877 +Change-Id: Ia34bbdcacdc4eb70a2e814d3b4bada9844abbb83 +Reviewed-by: Michael Bruning <michael.bruning@digia.com> +--- + Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp b/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp +index 5990a40..fc69546 100644 +--- a/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp ++++ b/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp +@@ -687,9 +687,12 @@ void QNetworkReplyHandler::forwardData() + // -1 means we do not provide any data about transfer size to inspector so it would use + // Content-Length headers or content size to show transfer size. + client->didReceiveData(m_resourceHandle, buffer, readSize, -1); ++ // Check if the request has been aborted or this reply-handler was otherwise released. ++ if (wasAborted() || !m_replyWrapper) ++ break; + } + delete[] buffer; +- if (bytesAvailable > 0) ++ if (bytesAvailable > 0 && m_replyWrapper) + m_queue.requeue(&QNetworkReplyHandler::forwardData); + } + +-- +2.1.1 + |