summaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtbase-git/0025-QHttpMultiPart-fix-data-corruption-in-readData-metho.patch
diff options
context:
space:
mode:
authorJonathan Liu <net147@gmail.com>2013-08-03 08:46:10 +0000
committerMartin Jansa <Martin.Jansa@gmail.com>2013-08-13 09:42:51 +0200
commit886e8ee5bdb4c95f2e6c1c203f76bc176329454b (patch)
tree8b49b1656c7586ac483d2496e3dfd2a951de048b /recipes-qt/qt5/qtbase-git/0025-QHttpMultiPart-fix-data-corruption-in-readData-metho.patch
parent0f7b2334268b99d3a4ea43bde735b4566f905044 (diff)
downloadmeta-qt5-886e8ee5bdb4c95f2e6c1c203f76bc176329454b.tar.gz
qtbase: add upstream QTBUG-32534 patch for QHttpMultiPart corruption
Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'recipes-qt/qt5/qtbase-git/0025-QHttpMultiPart-fix-data-corruption-in-readData-metho.patch')
-rw-r--r--recipes-qt/qt5/qtbase-git/0025-QHttpMultiPart-fix-data-corruption-in-readData-metho.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/recipes-qt/qt5/qtbase-git/0025-QHttpMultiPart-fix-data-corruption-in-readData-metho.patch b/recipes-qt/qt5/qtbase-git/0025-QHttpMultiPart-fix-data-corruption-in-readData-metho.patch
new file mode 100644
index 00000000..6858cead
--- /dev/null
+++ b/recipes-qt/qt5/qtbase-git/0025-QHttpMultiPart-fix-data-corruption-in-readData-metho.patch
@@ -0,0 +1,41 @@
1From af96c6fed931564c95037539f07e9c8e33c69529 Mon Sep 17 00:00:00 2001
2From: Peter Hartmann <phartmann@blackberry.com>
3Date: Thu, 25 Jul 2013 12:05:29 -0400
4Subject: [PATCH] QHttpMultiPart: fix data corruption in readData method
5
6When readData() is called repeatedly, we need to keep track which
7part of the multipart message we are currently reading from.
8Hereby we also need to take the boundary size into account, and not
9only the size of the multipart; otherwise we would skip a not
10completely read part. This would then later lead to advancing the
11read pointer by negative indexes and data loss.
12
13Upstream-Status: Accepted [https://codereview.qt-project.org/#change,61698]
14Signed-off-by: Jonathan Liu <net147@gmail.com>
15
16Task-number: QTBUG-32534
17Change-Id: Ibb6dff16adaf4ea67181d23d1d0c8459e33a0ed0
18Reviewed-by: Jonathan Liu <net147@gmail.com>
19Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
20---
21 src/network/access/qhttpmultipart.cpp | 3 +-
22 .../access/qnetworkreply/tst_qnetworkreply.cpp | 44 ++++++++++++++++++++++
23 2 files changed, 46 insertions(+), 1 deletion(-)
24
25diff --git a/src/network/access/qhttpmultipart.cpp b/src/network/access/qhttpmultipart.cpp
26index 4397ef8..5985ed9 100644
27--- a/src/network/access/qhttpmultipart.cpp
28+++ b/src/network/access/qhttpmultipart.cpp
29@@ -497,7 +497,8 @@ qint64 QHttpMultiPartIODevice::readData(char *data, qint64 maxSize)
30
31 // skip the parts we have already read
32 while (index < multiPart->parts.count() &&
33- readPointer >= partOffsets.at(index) + multiPart->parts.at(index).d->size())
34+ readPointer >= partOffsets.at(index) + multiPart->parts.at(index).d->size()
35+ + multiPart->boundary.count() + 6) // 6 == 2 boundary dashes, \r\n after boundary, \r\n after multipart
36 index++;
37
38 // read the data
39--
401.8.3.4
41