From a371f0fd8c029cbea493546a9b4f7946c44ff66c Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 9 May 2024 14:52:20 -0700 Subject: [PATCH] QDnsLookup/Unix: fix off-by-one error in parsing the reply MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Found this when the DNS server replied with no errors, no answers, and no EDNS0 tail. Amends eb51454b907b02aa67268c162896fc6778920e4c Change-Id: Ie30a3caf09ef4176bb36fffd17cdf0916ac31545 Reviewed-by: MÃ¥rten Nordheim (cherry picked from commit e3f520e621a9ea631d8a1d2f9bfc7a5f20dc698a) Reviewed-by: Qt Cherry-pick Bot --- src/network/kernel/qdnslookup_unix.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp index bb13dcbdf06..722cc341e40 100644 --- a/src/network/kernel/qdnslookup_unix.cpp +++ b/src/network/kernel/qdnslookup_unix.cpp @@ -273,7 +273,7 @@ void QDnsLookupRunnable::query(QDnsLookupReply *reply) expandHost(offset); if (status < 0) return; - if (offset + status + 4 >= responseLength) + if (offset + status + 4 > responseLength) header->qdcount = 0xffff; // invalid reply below else offset += status + 4;