]> granicus.if.org Git - pdns/commitdiff
properly process server responses that are truncated in mid-record.
authorBert Hubert <bert.hubert@netherlabs.nl>
Mon, 22 Nov 2010 11:59:37 +0000 (11:59 +0000)
committerBert Hubert <bert.hubert@netherlabs.nl>
Mon, 22 Nov 2010 11:59:37 +0000 (11:59 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@1740 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/dnsparser.cc

index 964ac5e9c7bfe298ee6c91def8927afdcac9956e..60e83d95c6f476609a67349486f7c1341689c10a 100644 (file)
@@ -317,7 +317,7 @@ void PacketReader::copyRecord(vector<unsigned char>& 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<string>(d_notyouroffset) +" > " 
+      throw out_of_range("dns packet out of range: "+lexical_cast<string>(d_notyouroffset) +" > " 
       + lexical_cast<string>(d_packet.length()) );
   }
   std::string& d_packet;