]> granicus.if.org Git - pdns/commitdiff
rec: Use `make_shared` for unwanted query records, saves an allocation
authorRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 31 Mar 2017 14:06:42 +0000 (16:06 +0200)
committerPieter Lexis <pieter.lexis@powerdns.com>
Tue, 4 Apr 2017 15:11:25 +0000 (17:11 +0200)
pdns/dnsparser.cc

index 8f6baa7cbed2d0e715d8dacd3800c95bdd4996e7..37493a0863f88c178c4564845024d9f48ad1100b 100644 (file)
@@ -286,7 +286,7 @@ void MOADNSParser::init(bool query, const char *packet, unsigned int len)
 
       if (query && (dr.d_place == DNSResourceRecord::ANSWER || dr.d_place == DNSResourceRecord::AUTHORITY || (dr.d_type != QType::OPT && dr.d_type != QType::TSIG && dr.d_type != QType::SIG && dr.d_type != QType::TKEY) || ((dr.d_type == QType::TSIG || dr.d_type == QType::SIG || dr.d_type == QType::TKEY) && dr.d_class != QClass::ANY))) {
 //        cerr<<"discarding RR, query is "<<query<<", place is "<<dr.d_place<<", type is "<<dr.d_type<<", class is "<<dr.d_class<<endl;
-        dr.d_content=std::shared_ptr<DNSRecordContent>(new UnknownRecordContent(dr, pr));
+        dr.d_content=std::make_shared<UnknownRecordContent>(dr, pr);
       }
       else {
 //        cerr<<"parsing RR, query is "<<query<<", place is "<<dr.d_place<<", type is "<<dr.d_type<<", class is "<<dr.d_class<<endl;