From: Bert Hubert Date: Mon, 22 Nov 2010 11:59:37 +0000 (+0000) Subject: properly process server responses that are truncated in mid-record. X-Git-Tag: rec-3.3.1~8 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=93507edf0209bd8d7c22c4a2c32eb70eb58db794;p=pdns properly process server responses that are truncated in mid-record. git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@1740 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- diff --git a/pdns/dnsparser.cc b/pdns/dnsparser.cc index 964ac5e9c..60e83d95c 100644 --- a/pdns/dnsparser.cc +++ b/pdns/dnsparser.cc @@ -317,7 +317,7 @@ void PacketReader::copyRecord(vector& dest, uint16_t len) void PacketReader::copyRecord(unsigned char* dest, uint16_t len) { if(d_pos + len > d_content.size()) - throw MOADNSException("Attempt to copy outside of packet"); + throw out_of_range("Attempt to copy outside of packet"); memcpy(dest, &d_content.at(d_pos), len); d_pos+=len; @@ -574,7 +574,7 @@ private: { d_notyouroffset += by; if(d_notyouroffset > d_packet.length()) - throw range_error("dns packet out of range: "+lexical_cast(d_notyouroffset) +" > " + throw out_of_range("dns packet out of range: "+lexical_cast(d_notyouroffset) +" > " + lexical_cast(d_packet.length()) ); } std::string& d_packet;