Properly check for a bogus andX offset - it has to move forward, not
just not move backward.
diff --git a/print-smb.c b/print-smb.c
index b0940df..daabd43 100644
--- a/print-smb.c
+++ b/print-smb.c
@@ -12,7 +12,7 @@
#ifndef lint
static const char rcsid[] _U_ =
- "@(#) $Header: /tcpdump/master/tcpdump/print-smb.c,v 1.43 2005-05-08 19:59:57 guy Exp $";
+ "@(#) $Header: /tcpdump/master/tcpdump/print-smb.c,v 1.44 2007-07-14 21:08:57 guy Exp $";
#endif
#include <tcpdump-stdinc.h>
@@ -904,7 +904,7 @@
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;
}