summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThiago Macieira <[email protected]>2024-07-10 08:47:12 -0700
committerThiago Macieira <[email protected]>2024-07-18 13:53:58 -0700
commit59133b16cd3adffc70833bb2b81332c9649fa51e (patch)
tree6a664e344e2550568e8a8f1b751e7253a3236350
parent9844da5036d7a7a185ddd4eb3fa59bc4ede9e5d7 (diff)
QDnsLookup/Unix: fix buffer size on sending DNS queries
Commit f2f00b2a4632aaeb58e6cdae7faef9e0bafaff49 ("QDnsLookup: implement DNS-over-TLS") added the use of QSpan, but confounded the size of the buffer array with the size of the query we prepared. The queryLength variable was never used after checking if the preparation had failed. Pick-to: 6.8 Task-number: QTBUG-127073 Change-Id: Iac1ff680887641888e00fffd17e0e49faab1d579 Reviewed-by: MÃ¥rten Nordheim <[email protected]>
-rw-r--r--src/network/kernel/qdnslookup_unix.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp
index 9de073b781a..4262ad58d50 100644
--- a/src/network/kernel/qdnslookup_unix.cpp
+++ b/src/network/kernel/qdnslookup_unix.cpp
@@ -250,14 +250,15 @@ void QDnsLookupRunnable::query(QDnsLookupReply *reply)
return reply->makeResolverSystemError();
// Perform DNS query.
+ QSpan query(qbuffer.data(), queryLength);
ReplyBuffer buffer(ReplyBufferSize);
int responseLength = -1;
switch (protocol) {
case QDnsLookup::Standard:
- responseLength = sendStandardDns(reply, &state, qbuffer, buffer, nameserver, port);
+ responseLength = sendStandardDns(reply, &state, query, buffer, nameserver, port);
break;
case QDnsLookup::DnsOverTls:
- if (!sendDnsOverTls(reply, qbuffer, buffer))
+ if (!sendDnsOverTls(reply, query, buffer))
return;
responseLength = buffer.size();
break;