summaryrefslogtreecommitdiffstats
path: root/examples/network/torrent/peerwireclient.cpp
diff options
context:
space:
mode:
authorMårten Nordheim <marten.nordheim@qt.io>2023-02-20 13:02:29 +0100
committerMårten Nordheim <marten.nordheim@qt.io>2023-02-21 13:04:44 +0100
commitf3de92cdad7642e6c3425712823e1491768f2e56 (patch)
tree820d38db037d927ee16bb068a79f76f736529242 /examples/network/torrent/peerwireclient.cpp
parentd3c14454198d126a8d92c51a917fff556bdd596c (diff)
Torrent example: Fix some stack overflow issues
Because of the .size() used as part of the expression it ends up copying sizeof(qsizetype) bytes to the array, instead of the (rationally) expected 4 bytes. Amends 69c31f6f68a1399c1fc1e545e318eaa40966fe85 Pick-to: 6.5 Task-number: QTBUG-110622 Change-Id: I732e3f4bb5934ff3860087baa91f9bebbf044a7f Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io>
Diffstat (limited to 'examples/network/torrent/peerwireclient.cpp')
-rw-r--r--examples/network/torrent/peerwireclient.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/examples/network/torrent/peerwireclient.cpp b/examples/network/torrent/peerwireclient.cpp
index f6f81215a1..d4264ffc3a 100644
--- a/examples/network/torrent/peerwireclient.cpp
+++ b/examples/network/torrent/peerwireclient.cpp
@@ -177,7 +177,7 @@ void PeerWireClient::sendPieceList(const QBitArray &bitField)
}
char message[] = {0, 0, 0, 1, 5};
- qToBigEndian(bits.size() + 1, &message[0]);
+ qToBigEndian<qint32>(bits.size() + 1, &message[0]);
write(message, sizeof(message));
write(bits);
}
@@ -227,7 +227,7 @@ void PeerWireClient::sendBlock(int piece, int offset, const QByteArray &data)
QByteArray block;
char message[] = {0, 0, 0, 1, 7};
- qToBigEndian(9 + data.size(), &message[0]);
+ qToBigEndian<qint32>(9 + data.size(), &message[0]);
block += QByteArray(message, sizeof(message));
char numbers[4 * 2];