qt4: add upstream QTBUG-32534 patch for QHttpMultiPart upload corruption
PATCH 1/1 qt4: add upstream QTBUG-32534 patch for QHttpMultiPart upload corruption
--- meta/recipes-qt/qt4/qt4-4.8.5.inc | 1 + ...art-fix-data-corruption-in-readData-metho.patch | 43 ++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 meta/recipes-qt/qt4/qt4-4.8.5/0023-QHttpMultiPart-fix-data-corruption-in-readData-metho.patch
meta/recipes-qt/qt4/qt4-4.8.5.inc +1 -0
@@ -22,6 +22,7 @@ SRC_URI = "http://download.qt-project.org/official_releases/qt/4.8/${PV}/qt-ever file://0019-Fixes-for-gcc-4.7.0-particularly-on-qemux86.patch \ file://0020-webkit-disable-the-fuse-ld-gold-flag.patch \ file://0022-Fix-drawing-of-0-width-polylines-from-outside-the-de.patch \ + file://0023-QHttpMultiPart-fix-data-corruption-in-readData-metho.patch \ file://0027-tools.pro-disable-qmeegographicssystemhelper.patch \ file://g++.conf \ file://linux.conf \
meta/recipes-qt/qt4/qt4-4.8.5/0023-QHttpMultiPart-fix-data-corruption-in-readData-metho.patch new file +43 -0
43 lines not on this page · raw message
Signature · 1 line
1.8.3.4
You need this fix right in your third-party project that it cannot wait until the next upstream bugfix release, or if not you, someone else requested it on the Yocto bugtracker?
Quoted 93 lines · Jonathan Liu
Signed-off-by Jonathan Liu <[email protected]>--- meta/recipes-qt/qt4/qt4-4.8.5.inc | 1 + ...art-fix-data-corruption-in-readData-metho.patch | 43 ++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644
meta/recipes-qt/qt4/qt4-4.8.5/0023-QHttpMultiPart-fix-data-corruption-in-readData-metho.patchmeta/recipes-qt/qt4/qt4-4.8.5.inc +0
-0@@ -22,6 +22,7 @@ SRC_URI = "http://download.qt-project.org/official_releases/qt/4.8/${PV}/qt-ever
file://0019-Fixes-for-gcc-4.7.0-particularly-on-qemux86.patch \ file://0020-webkit-disable-the-fuse-ld-gold-flag.patch \file://0022-Fix-drawing-of-0-width-polylines-from-outside-the-de.patch \
+ file://0023-QHttpMultiPart-fix-data-corruption-in-readData-metho.patch \
file://0027-tools.pro-disable-qmeegographicssystemhelper.patch\ file://g++.conf \ file://linux.conf \diff --git
a/meta/recipes-qt/qt4/qt4-4.8.5/0023-QHttpMultiPart-fix-data-corruption-in-readData-metho.patchb/meta/recipes-qt/qt4/qt4-4.8.5/0023-QHttpMultiPart-fix-data-corruption-in-readData-metho.patchnew file mode 100644
index 0000000..c3c002e
---/dev/null
+++b/meta/recipes-qt/qt4/qt4-4.8.5/0023-QHttpMultiPart-fix-data-corruption-in-readData-metho.patchmeta/recipes-qt/qt4/qt4-4.8.5.inc +13
-0@@ -0,0 +1,43 @@ +From 1f40ed553e618c3b0511c7db4b4fd26c2d2b65bf Mon Sep 17 00:00:00 2001 +From: Peter Hartmann <[email protected]> +Date: Thu, 25 Jul 2013 12:05:29 -0400 +Subject: [PATCH] QHttpMultiPart: fix data corruption in readData method + +When readData() is called repeatedly, we need to keep track which +part of the multipart message we are currently reading from. +Hereby we also need to take the boundary size into account, and not +only the size of the multipart; otherwise we would skip a not +completely read part. This would then later lead to advancing the +read pointer by negative indexes and data loss. + +Upstream-Status: Accepted [https://codereview.qt-project.org/#change,61861]
meta/recipes-qt/qt4/qt4-4.8.5.inc +15
-0+Signed-off-by: Jonathan Liu <[email protected]> + +Task-number: QTBUG-32534 +Change-Id: Ibb6dff16adaf4ea67181d23d1d0c8459e33a0ed0 +Reviewed-by: Jonathan Liu <[email protected]> +Reviewed-by: Shane Kearns <[email protected]> +(cherry picked from qtbase/af96c6fed931564c95037539f07e9c8e33c69529) +Reviewed-by: Thiago Macieira <[email protected]> +--- + src/network/access/qhttpmultipart.cpp | 3 +- + tests/auto/qnetworkreply/tst_qnetworkreply.cpp | 44 ++++++++++++++++++++++++++ + 2 files changed, 46 insertions(+), 1 deletion(-) + +diff --git a/src/network/access/qhttpmultipart.cppb/src/network/access/qhttpmultipart.cpp
+index 635129a..b25e917 100644
+--- a/src/network/access/qhttpmultipart.cpp
++++ b/src/network/access/qhttpmultipart.cpp
+@@ -488,7 +488,8 @@ qint64QHttpMultiPartIODevice::readData(char *data, qint64 maxSize)meta/recipes-qt/qt4/qt4-4.8.5.inc +4
-0+ + // skip the parts we have already read + while (index < multiPart->parts.count() && +- readPointer >= partOffsets.at(index) + multiPart->parts.at(index).d->size())
++ readPointer >=partOffsets.at(index)+multiPart->parts.at
(index).d->size()
++ +multiPart->boundary.count()+ 6) // 6 == 2 boundary dashes,
\r\n after boundary, \r\n after multipartmeta/recipes-qt/qt4/qt4-4.8.5.inc +6
-1+ index++; + + // read the data +-- +1.8.3.4 + --1.8.3.4
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Quoted 1 line · Laszlo Papp
You need this fix right in your third-party project that it cannot wait until the next upstream bugfix release, or if not you, someone else requested it on the Yocto bugtracker?
The corruption is a P1 issue and there are currently no plans for Qt 4.8.6 yet so it is uncertain when it will be released. There were more than 7 months between the Qt 4.8.4 and Qt 4.8.5 releases.
The issue affects one of my projects.
Regards,
Jonathan
OK, thanks.
We need to be careful not to maintain all the 100-200+ patches they may have as it makes the update a bit more difficult potentially.
I think in this special case, if you already affected, it is worth approving.
Quoted 15 lines · Jonathan Liu
Quoted 4 lines · Laszlo Papp
You need this fix right in your third-party project that it cannot wait until the next upstream bugfix release, or if not you, someone else requested it on the Yocto bugtracker?
The corruption is a P1 issue and there are currently no plans for Qt 4.8.6 yet so it is uncertain when it will be released. There were more than 7 months between the Qt 4.8.4 and Qt 4.8.5 releases.
The issue affects one of my projects.
Regards,
Jonathan
Btw, is it a common enough fix to be included, or otherwise you could just do your .bbappend appliance?
Quoted 28 lines · Laszlo Papp
OK, thanks.
We need to be careful not to maintain all the 100-200+ patches they may have as it makes the update a bit more difficult potentially.
I think in this special case, if you already affected, it is worth approving.
Quoted 15 lines · Jonathan Liu
Quoted 4 lines · Laszlo Papp
You need this fix right in your third-party project that it cannot wait until the next upstream bugfix release, or if not you, someone else requested it on the Yocto bugtracker?
The corruption is a P1 issue and there are currently no plans for Qt 4.8.6 yet so it is uncertain when it will be released. There were more than 7 months between the Qt 4.8.4 and Qt 4.8.5 releases.
The issue affects one of my projects.
Regards,
Jonathan