41 lines
1.6 KiB
Diff
41 lines
1.6 KiB
Diff
|
From 7e85bcd660d4124c4115b493f80624430216249d Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||
|
Date: Wed, 25 Oct 2017 11:19:19 +0200
|
||
|
Subject: [PATCH] resolved: fix loop on packets with pseudo dns types
|
||
|
|
||
|
Reported by Karim Hossen & Thomas Imbert from Sogeti ESEC R&D.
|
||
|
|
||
|
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1725351
|
||
|
(cherry picked from commit 9f939335a07085aa9a9663efd1dca06ef6405d62)
|
||
|
(cherry picked from commit 743b771c559c6101544f7358a42c8c519fe4b0db)
|
||
|
(cherry picked from commit 1e20ca63e06337b95f4b0deedc062511d2ff31cc)
|
||
|
(cherry picked from commit 655ae23e5b73816fb7ebdc5dc61271cf8ffa0007)
|
||
|
---
|
||
|
src/resolve/resolved-dns-packet.c | 6 +-----
|
||
|
1 file changed, 1 insertion(+), 5 deletions(-)
|
||
|
|
||
|
diff --git a/src/resolve/resolved-dns-packet.c b/src/resolve/resolved-dns-packet.c
|
||
|
index fd37363ece..8260e45769 100644
|
||
|
--- a/src/resolve/resolved-dns-packet.c
|
||
|
+++ b/src/resolve/resolved-dns-packet.c
|
||
|
@@ -1490,7 +1490,7 @@ static int dns_packet_read_type_window(DnsPacket *p, Bitmap **types, size_t *sta
|
||
|
|
||
|
found = true;
|
||
|
|
||
|
- while (bitmask) {
|
||
|
+ for (; bitmask; bit++, bitmask >>= 1)
|
||
|
if (bitmap[i] & bitmask) {
|
||
|
uint16_t n;
|
||
|
|
||
|
@@ -1504,10 +1504,6 @@ static int dns_packet_read_type_window(DnsPacket *p, Bitmap **types, size_t *sta
|
||
|
if (r < 0)
|
||
|
return r;
|
||
|
}
|
||
|
-
|
||
|
- bit++;
|
||
|
- bitmask >>= 1;
|
||
|
- }
|
||
|
}
|
||
|
|
||
|
if (!found)
|