secureudpclient - a speculative fix for non-reproducible crash

Not much information in a bug report: QByteArray is protected from negative
sizes and QUdpSocket too. FWIW - add one more check, similar to what
the server counterpart already had.

Fixes: QTBUG-83457
Change-Id: I585fa90e0a258d2257e4fed2f24c52b47548bcbb
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit b283ce1e836ab08e602a11ea255ee3d8e537902e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Timur Pocheptsov 2020-12-10 11:11:23 +01:00 committed by Qt Cherry-pick Bot
parent b99caf8f26
commit 0908175a1a

View File

@ -112,6 +112,11 @@ void DtlsAssociation::udpSocketConnected()
void DtlsAssociation::readyRead()
{
if (socket.pendingDatagramSize() <= 0) {
emit warningMessage(tr("%1: spurious read notification?").arg(name));
return;
}
//! [6]
QByteArray dgram(socket.pendingDatagramSize(), Qt::Uninitialized);
const qint64 bytesRead = socket.readDatagram(dgram.data(), dgram.size());