From e3f520e621a9ea631d8a1d2f9bfc7a5f20dc698a 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 Pick-to: 6.7 Change-Id: Ie30a3caf09ef4176bb36fffd17cdf0916ac31545 Reviewed-by: MÃ¥rten Nordheim --- 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 2c29eb8c0bb..9de073b781a 100644 --- a/src/network/kernel/qdnslookup_unix.cpp +++ b/src/network/kernel/qdnslookup_unix.cpp @@ -310,7 +310,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;