summaryrefslogtreecommitdiffstats
path: root/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-04-20_19_02_01-Make-basic-integer-QDataStream-reads-resistant-to-corruption-from-underlying-IO-device-failure-60621ef.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-04-20_19_02_01-Make-basic-integer-QDataStream-reads-resistant-to-corruption-from-underlying-IO-device-failure-60621ef.patch')
-rw-r--r--dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-04-20_19_02_01-Make-basic-integer-QDataStream-reads-resistant-to-corruption-from-underlying-IO-device-failure-60621ef.patch133
1 files changed, 0 insertions, 133 deletions
diff --git a/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-04-20_19_02_01-Make-basic-integer-QDataStream-reads-resistant-to-corruption-from-underlying-IO-device-failure-60621ef.patch b/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-04-20_19_02_01-Make-basic-integer-QDataStream-reads-resistant-to-corruption-from-underlying-IO-device-failure-60621ef.patch
deleted file mode 100644
index d8ca2cfc..00000000
--- a/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-04-20_19_02_01-Make-basic-integer-QDataStream-reads-resistant-to-corruption-from-underlying-IO-device-failure-60621ef.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-diff --git a/src/tools/qdatastream.cpp b/src/tools/qdatastream.cpp
-index dfdc20e..2cdd5f7 100644
---- a/src/tools/qdatastream.cpp
-+++ b/src/tools/qdatastream.cpp
-@@ -544,7 +544,10 @@ QDataStream &QDataStream::operator>>( Q_INT8 &i )
- i = (buf[2] & 0x07)+((buf[1] & 0x07) << 3)+((buf[0] & 0x07) << 6);
- }
- } else { // data or text
-- i = (Q_INT8)dev->getch();
-+ int ret = dev->getch();
-+ if (ret >= 0) {
-+ i = (Q_INT8)ret;
-+ }
- }
- return *this;
- }
-@@ -574,9 +577,10 @@ QDataStream &QDataStream::operator>>( Q_INT16 &i )
- } else { // swap bytes
- register uchar *p = (uchar *)(&i);
- char b[2];
-- dev->readBlock( b, 2 );
-- *p++ = b[1];
-- *p = b[0];
-+ if (dev->readBlock( b, 2 ) >= 2) {
-+ *p++ = b[1];
-+ *p = b[0];
-+ }
- }
- return *this;
- }
-@@ -606,11 +610,12 @@ QDataStream &QDataStream::operator>>( Q_INT32 &i )
- } else { // swap bytes
- uchar *p = (uchar *)(&i);
- char b[4];
-- dev->readBlock( b, 4 );
-- *p++ = b[3];
-- *p++ = b[2];
-- *p++ = b[1];
-- *p = b[0];
-+ if (dev->readBlock( b, 4 ) >= 4) {
-+ *p++ = b[3];
-+ *p++ = b[2];
-+ *p++ = b[1];
-+ *p = b[0];
-+ }
- }
- return *this;
- }
-@@ -643,15 +648,16 @@ QDataStream &QDataStream::operator>>( Q_INT64 &i )
- } else { // swap bytes
- uchar *p = (uchar *)(&i);
- char b[8];
-- dev->readBlock( b, 8 );
-- *p++ = b[7];
-- *p++ = b[6];
-- *p++ = b[5];
-- *p++ = b[4];
-- *p++ = b[3];
-- *p++ = b[2];
-- *p++ = b[1];
-- *p = b[0];
-+ if (dev->readBlock( b, 8 ) >= 8) {
-+ *p++ = b[7];
-+ *p++ = b[6];
-+ *p++ = b[5];
-+ *p++ = b[4];
-+ *p++ = b[3];
-+ *p++ = b[2];
-+ *p++ = b[1];
-+ *p = b[0];
-+ }
- }
- return *this;
- }
-@@ -683,9 +689,11 @@ QDataStream &QDataStream::operator>>( Q_LONG &i )
- } else { // swap bytes
- register uchar *p = (uchar *)(&i);
- char b[sizeof(Q_LONG)];
-- dev->readBlock( b, sizeof(Q_LONG) );
-- for ( int j = sizeof(Q_LONG); j; )
-- *p++ = b[--j];
-+ if (dev->readBlock( b, sizeof(Q_LONG) ) >= (int)sizeof(Q_LONG)) {
-+ for ( int j = sizeof(Q_LONG); j; ) {
-+ *p++ = b[--j];
-+ }
-+ }
- }
- return *this;
- }
-@@ -724,11 +732,12 @@ QDataStream &QDataStream::operator>>( float &f )
- } else { // swap bytes
- uchar *p = (uchar *)(&f);
- char b[4];
-- dev->readBlock( b, 4 );
-- *p++ = b[3];
-- *p++ = b[2];
-- *p++ = b[1];
-- *p = b[0];
-+ if (dev->readBlock( b, 4 ) >= 4) {
-+ *p++ = b[3];
-+ *p++ = b[2];
-+ *p++ = b[1];
-+ *p = b[0];
-+ }
- }
- return *this;
- }
-@@ -752,15 +761,16 @@ QDataStream &QDataStream::operator>>( double &f )
- } else { // swap bytes
- register uchar *p = (uchar *)(&f);
- char b[8];
-- dev->readBlock( b, 8 );
-- *p++ = b[7];
-- *p++ = b[6];
-- *p++ = b[5];
-- *p++ = b[4];
-- *p++ = b[3];
-- *p++ = b[2];
-- *p++ = b[1];
-- *p = b[0];
-+ if (dev->readBlock( b, 8 ) >= 8) {
-+ *p++ = b[7];
-+ *p++ = b[6];
-+ *p++ = b[5];
-+ *p++ = b[4];
-+ *p++ = b[3];
-+ *p++ = b[2];
-+ *p++ = b[1];
-+ *p = b[0];
-+ }
- }
- return *this;
- }