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;
}
|