summaryrefslogtreecommitdiff
path: root/src/network/kernel/qdnslookup_unix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/kernel/qdnslookup_unix.cpp')
-rw-r--r--src/network/kernel/qdnslookup_unix.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp
index 0e10e8f928..7eeb6538a2 100644
--- a/src/network/kernel/qdnslookup_unix.cpp
+++ b/src/network/kernel/qdnslookup_unix.cpp
@@ -218,6 +218,7 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN
}
const quint16 type = (p[0] << 8) | p[1];
p += 2; // RR type
+ const qint16 rrclass = (p[0] << 8) | p[1];
p += 2; // RR class
const quint32 ttl = (p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3];
p += 4;
@@ -225,6 +226,8 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN
p += 2;
if ((p - response) + size > responseLength)
return; // truncated
+ if (rrclass != C_IN)
+ continue;
if (type == QDnsLookup::A) {
if (size != 4) {