]> granicus.if.org Git - pdns/commitdiff
tiny fix to the MOADNSParser wrt compressed labels in larger packets
authorBert Hubert <bert.hubert@netherlabs.nl>
Fri, 25 Feb 2005 08:19:01 +0000 (08:19 +0000)
committerBert Hubert <bert.hubert@netherlabs.nl>
Fri, 25 Feb 2005 08:19:01 +0000 (08:19 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@329 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/dnsparser.cc

index f450d96a09cb2570cb174710b88279d5928dab3b..d15177400d1fbd1aa46f340c3284bd5cd5db7e5c 100644 (file)
@@ -215,7 +215,7 @@ string PacketReader::getLabelFromContent(const vector<u_int8_t>& content, u_int1
       break;
     }
     if((labellen & 0xc0) == 0xc0) {
-      u_int16_t offset=(labellen & ~0xc0) + content.at(frompos++) - sizeof(dnsheader);
+      u_int16_t offset=256*(labellen & ~0xc0) + (unsigned int)content.at(frompos++) - sizeof(dnsheader);
       //       cout<<"This is an offset, need to go to: "<<offset<<endl;
       return ret+getLabelFromContent(content, offset, ++recurs);
     }