]> granicus.if.org Git - pdns/commitdiff
fix skipping bug
authorBert Hubert <bert.hubert@netherlabs.nl>
Sat, 2 Jul 2005 23:15:03 +0000 (23:15 +0000)
committerBert Hubert <bert.hubert@netherlabs.nl>
Sat, 2 Jul 2005 23:15:03 +0000 (23:15 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@423 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/dnspcap.cc

index e156058155dc35dce4c76f6ed6ba6fb0894970ec..67340b01a0cb61c84e8dc41810082e9810344632 100644 (file)
@@ -47,13 +47,15 @@ try
 
     if(d_pheader.caplen!=d_pheader.len) {
       d_runts++;
-      if(fseek(d_fp, d_pheader.caplen, SEEK_SET)<0)
+      if(fseek(d_fp, d_pheader.caplen, SEEK_CUR)<0)
        unixDie((format("Skipping %d bytes in file %s") % d_pheader.caplen % d_fname).str());
       continue;
     }
+    if(!d_pheader.caplen)
+      continue;
     if(d_pheader.caplen > sizeof(d_buffer)) {
       d_oversized++;
-      if(fseek(d_fp, d_pheader.caplen, SEEK_SET)<0)
+      if(fseek(d_fp, d_pheader.caplen, SEEK_CUR)<0)
        unixDie((format("Skipping %d bytes in file %s") % d_pheader.caplen % d_fname).str());
       continue;
     }