From 48e265aa5f0ca95b6dcb1e683e9123dc59ba7c42 Mon Sep 17 00:00:00 2001
From: Robert David Graham <robert_david_graham@yahoo.com>
Date: Mon, 11 Jun 2018 03:58:02 -0400
Subject: [PATCH] SMB WinNT fix

---
 src/proto-smb.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/proto-smb.c b/src/proto-smb.c
index 2e8b686..64ea978 100644
--- a/src/proto-smb.c
+++ b/src/proto-smb.c
@@ -1428,13 +1428,13 @@ smb_parse_smb(struct SMBSTUFF *smb, const unsigned char *px, size_t max, struct
         case SMB1_DATA:
             switch (smb->hdr.smb1.command) {
                 case 0x72:
-                    if (smb->hdr.smb1.flags2 & 0x0800)
+                    if ((smb->hdr.smb1.flags2 & 0x0800) > 0 && smb->parms.negotiate.ChallengeLength == 0)
                         i += smb1_parse_negotiate2(smb, px, i, max, banout);
                     else
                         i += smb1_parse_negotiate1(smb, px, i, max, banout);
                     break;
                 case 0x73: /* session setup and x */
-                    if (smb->hdr.smb1.flags2 & 0x0800)
+                    if ((smb->hdr.smb1.flags2 & 0x0800) > 0 && smb->parms.negotiate.ChallengeLength == 0)
                         i += smb1_parse_setup2(smb, px, i, max, banout);
                     else
                         i += smb1_parse_setup1(smb, px, i, max, banout);
-- 
GitLab