From 9f939335a07085aa9a9663efd1dca06ef6405d62 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 --- src/resolve/resolved-dns-packet.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) Index: systemd-232/src/resolve/resolved-dns-packet.c =================================================================== --- systemd-232.orig/src/resolve/resolved-dns-packet.c 2017-10-26 07:58:57.641068724 -0400 +++ systemd-232/src/resolve/resolved-dns-packet.c 2017-10-26 07:58:57.637068686 -0400 @@ -1480,7 +1480,7 @@ static int dns_packet_read_type_window(D found = true; - while (bitmask) { + for (; bitmask; bit++, bitmask >>= 1) if (bitmap[i] & bitmask) { uint16_t n; @@ -1494,10 +1494,6 @@ static int dns_packet_read_type_window(D if (r < 0) return r; } - - bit++; - bitmask >>= 1; - } } if (!found)