diff -uNr systemd-228/src/resolve/resolved-dns-packet.c systemd-228-fix/src/resolve/resolved-dns-packet.c
--- systemd-228/src/resolve/resolved-dns-packet.c	2017-11-09 23:34:27.498138291 +0000
+++ systemd-228-fix/src/resolve/resolved-dns-packet.c	2017-11-09 23:33:30.002135550 +0000
@@ -1207,7 +1207,7 @@
 
                 found = true;
 
-                while (bitmask) {
+                for (; bitmask; bit++, bitmask >>= 1) {
                         if (bitmap[i] & bitmask) {
                                 uint16_t n;
 
@@ -1221,9 +1221,6 @@
                                 if (r < 0)
                                         goto fail;
                         }
-
-                        bit ++;
-                        bitmask >>= 1;
                 }
         }