diff options
Diffstat (limited to 'examples/corelib/ipc/localfortuneclient/client.cpp')
-rw-r--r-- | examples/corelib/ipc/localfortuneclient/client.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/examples/corelib/ipc/localfortuneclient/client.cpp b/examples/corelib/ipc/localfortuneclient/client.cpp index 122522f29d..d5a1525769 100644 --- a/examples/corelib/ipc/localfortuneclient/client.cpp +++ b/examples/corelib/ipc/localfortuneclient/client.cpp @@ -110,12 +110,13 @@ void Client::readFortune() in.setVersion(QDataStream::Qt_4_0); if (blockSize == 0) { - if (socket->bytesAvailable() < (int)sizeof(quint16)) + // Relies on the fact that QDataStream format streams a quint32 into sizeof(quint32) bytes + if (socket->bytesAvailable() < (int)sizeof(quint32)) return; in >> blockSize; } - if (in.atEnd()) + if (socket->bytesAvailable() < blockSize || in.atEnd()) return; QString nextFortune; |