Properly check for a bogus andX offset - it has to move forward, not
authorguy <guy>
Sat, 14 Jul 2007 21:10:19 +0000 (21:10 +0000)
committerguy <guy>
Sat, 14 Jul 2007 21:10:19 +0000 (21:10 +0000)
just not move backward.

print-smb.c

index 8f262019610b8503d11bf3d9069b0fde0aacd7dd..e6cfe60e316d4de529de9fb17a1fe70f58cd5cc1 100644 (file)
@@ -12,7 +12,7 @@
 
 #ifndef lint
 static const char rcsid[] _U_ =
-     "@(#) $Header: /tcpdump/master/tcpdump/print-smb.c,v 1.41.2.2 2005-05-08 20:01:09 guy Exp $";
+     "@(#) $Header: /tcpdump/master/tcpdump/print-smb.c,v 1.41.2.3 2007-07-14 21:10:19 guy Exp $";
 #endif
 
 #include <tcpdump-stdinc.h>
@@ -904,7 +904,7 @@ print_smb(const u_char *buf, const u_char *maxbuf)
 
        printf("\nSMB PACKET: %s (%s) (CHAINED)\n",
            fn->name, request ? "REQUEST" : "REPLY");
-       if (newsmboffset < smboffset) {
+       if (newsmboffset <= smboffset) {
            printf("Bad andX offset: %u < %u\n", newsmboffset, smboffset);
            break;
        }