]> granicus.if.org Git - pdns/commitdiff
ixfrdist: Small optimization in makeAXFRPackets()
authorRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 27 Aug 2018 13:34:35 +0000 (15:34 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 28 Aug 2018 09:01:17 +0000 (11:01 +0200)
pdns/ixfrdist.cc

index 779cb8608a4a9375efad3548739a570c63d74030..dc05c91f051c65ad1ddd7cf1854741f9174f6152 100644 (file)
@@ -452,8 +452,11 @@ bool makeAXFRPackets(const MOADNSParser& mdp, vector<vector<uint8_t>>& packets)
     records = g_soas[mdp.d_qname].latestAXFR;
   }
 
+  packets.reserve(packets.size() + /* SOAs */ 2 + records.size());
+
   // Initial SOA
-  packets.push_back(getSOAPacket(mdp, soa));
+  const auto soaPacket = getSOAPacket(mdp, soa);
+  packets.push_back(soaPacket);
 
   for (auto const &record : records) {
     if (record.d_type == QType::SOA) {
@@ -471,7 +474,7 @@ bool makeAXFRPackets(const MOADNSParser& mdp, vector<vector<uint8_t>>& packets)
   }
 
   // Final SOA
-  packets.push_back(getSOAPacket(mdp, soa));
+  packets.push_back(soaPacket);
 
   return true;
 }