]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Avoid arithmetic on bitfields, as suggested by Otto 10650/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 17 Aug 2021 07:32:40 +0000 (09:32 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 17 Aug 2021 07:32:40 +0000 (09:32 +0200)
pdns/dnsdist.cc

index 8f3e34b114e17d5aa73d662ed32d16d94c7a469a..900e2facdbdfe88bb2e3fb1643dcf9681beaad12 100644 (file)
@@ -294,7 +294,7 @@ static void restoreFlags(struct dnsheader* dh, uint16_t origFlags)
 
 static uint16_t getRDAndCDFlagsFromDNSHeader(const struct dnsheader* dh)
 {
-  return static_cast<uint16_t>((dh->rd << FLAGS_RD_OFFSET) + (dh->cd << FLAGS_CD_OFFSET));
+  return static_cast<uint16_t>(dh->rd) << FLAGS_RD_OFFSET | static_cast<uint16_t>(dh->cd) << FLAGS_CD_OFFSET;
 }
 
 static bool fixUpQueryTurnedResponse(DNSQuestion& dq, const uint16_t origFlags)