summaryrefslogtreecommitdiffstats
path: root/mageia/dependencies/qt3/0035-qvaluelist-streaming-operator.patch
blob: f4c225a85c585226b5d356812717a3810d37d8b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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;
 }