summaryrefslogtreecommitdiffstats
path: root/mageia/dependencies/qt3/0035-qvaluelist-streaming-operator.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mageia/dependencies/qt3/0035-qvaluelist-streaming-operator.patch')
-rw-r--r--mageia/dependencies/qt3/0035-qvaluelist-streaming-operator.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/mageia/dependencies/qt3/0035-qvaluelist-streaming-operator.patch b/mageia/dependencies/qt3/0035-qvaluelist-streaming-operator.patch
new file mode 100644
index 000000000..f4c225a85
--- /dev/null
+++ b/mageia/dependencies/qt3/0035-qvaluelist-streaming-operator.patch
@@ -0,0 +1,27 @@
+qt-bugs@ issue: 40192
+applied: no
+author: Frerich Raabe <raabe@kde.org>
+
+This patch should fix QValueList's streaming operator>> for cases where
+the stream operates on a byte array smaller than a Q_UINT32 (for instance,
+QByteArray objects which are 0-3 bytes in size). It used to read one bogus
+item because the loop would get executed once even if reading the 'c'
+variable failed.
+
+--- src/tools/qvaluelist.h.orig 2004-01-27 21:10:52.000000000 +0000
++++ src/tools/qvaluelist.h 2004-01-27 21:11:35.000000000 +0000
+@@ -636,13 +636,11 @@
+ l.clear();
+ Q_UINT32 c;
+ s >> c;
+- for( Q_UINT32 i = 0; i < c; ++i )
++ for( Q_UINT32 i = 0; i < c && !s.atEnd(); ++i )
+ {
+ T t;
+ s >> t;
+ l.append( t );
+- if ( s.atEnd() )
+- break;
+ }
+ return s;
+ }