]> granicus.if.org Git - pdns/commitdiff
don't bomb out when a blob of unknown length is the last thing in a DNS packet. Bug...
authorPeter van Dijk <peter.van.dijk@netherlabs.nl>
Thu, 15 Sep 2011 14:09:58 +0000 (14:09 +0000)
committerPeter van Dijk <peter.van.dijk@netherlabs.nl>
Thu, 15 Sep 2011 14:09:58 +0000 (14:09 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@2267 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/dnsparser.cc

index db5421eab0af9cced38e67b325ebce42c31611e4..a983a3f1ce12f3a9a63cbdea292cf2b1d7941fa1 100644 (file)
@@ -467,7 +467,7 @@ void PacketReader::getLabelFromContent(const vector<uint8_t>& content, uint16_t&
 
 void PacketReader::xfrBlob(string& blob)
 {
-  if(d_recordlen)
+  if(d_recordlen && !(d_pos == (d_startrecordpos + d_recordlen)))
     blob.assign(&d_content.at(d_pos), &d_content.at(d_startrecordpos + d_recordlen - 1 ) + 1);
   else
     blob.clear();