summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/corelib/ipc/localfortuneclient/client.cpp5
-rw-r--r--examples/corelib/ipc/localfortuneclient/client.h2
-rw-r--r--examples/corelib/ipc/localfortuneserver/server.cpp4
3 files changed, 6 insertions, 5 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;
diff --git a/examples/corelib/ipc/localfortuneclient/client.h b/examples/corelib/ipc/localfortuneclient/client.h
index 0400389989..8e628efcee 100644
--- a/examples/corelib/ipc/localfortuneclient/client.h
+++ b/examples/corelib/ipc/localfortuneclient/client.h
@@ -86,7 +86,7 @@ private:
QLocalSocket *socket;
QString currentFortune;
- quint16 blockSize;
+ quint32 blockSize;
};
#endif
diff --git a/examples/corelib/ipc/localfortuneserver/server.cpp b/examples/corelib/ipc/localfortuneserver/server.cpp
index 753f629e6a..2eee4760be 100644
--- a/examples/corelib/ipc/localfortuneserver/server.cpp
+++ b/examples/corelib/ipc/localfortuneserver/server.cpp
@@ -106,10 +106,10 @@ void Server::sendFortune()
QByteArray block;
QDataStream out(&block, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_0);
- out << (quint16)0;
+ out << (quint32)0;
out << fortunes.at(qrand() % fortunes.size());
out.device()->seek(0);
- out << (quint16)(block.size() - sizeof(quint16));
+ out << (quint32)(block.size() - sizeof(quint32));
QLocalSocket *clientConnection = server->nextPendingConnection();
connect(clientConnection, SIGNAL(disconnected()),