From 44eabe2f936c25c8746c3818e165224e0e00178e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Mon, 20 Feb 2023 13:02:29 +0100 Subject: [PATCH] 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 Task-number: QTBUG-110622 Change-Id: I732e3f4bb5934ff3860087baa91f9bebbf044a7f Reviewed-by: Timur Pocheptsov Reviewed-by: Konrad Kujawa (cherry picked from commit f3de92cdad7642e6c3425712823e1491768f2e56) Reviewed-by: Qt Cherry-pick Bot --- examples/network/torrent/peerwireclient.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/network/torrent/peerwireclient.cpp b/examples/network/torrent/peerwireclient.cpp index f6f81215a14..d4264ffc3a4 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(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(9 + data.size(), &message[0]); block += QByteArray(message, sizeof(message)); char numbers[4 * 2];