Add a paranoia check on incoming PDUs
authorVolker Lendecke <vl@samba.org>
Fri, 12 Sep 2008 19:19:37 +0000 (21:19 +0200)
committerVolker Lendecke <vl@samba.org>
Fri, 12 Sep 2008 19:42:34 +0000 (21:42 +0200)
(This used to be commit 8b81b85200b7ca18cf81fdbbc3254d8578b35f43)

source3/libsmb/async_smb.c

index eedc7d4481db6d8713b9152fb9e5942068b7b34c..b4d93ff968562d506bb33b4553eb60125aabbe30 100644 (file)
@@ -759,6 +759,13 @@ static void handle_incoming_pdu(struct cli_state *cli)
 
        }
 
+       if ((IVAL(pdu, 4) != 0x424d53ff) /* 0xFF"SMB" */
+           && (IVAL(pdu, 4) != 0x424d45ff)) /* 0xFF"EMB" */ {
+               DEBUG(10, ("Got non-SMB PDU\n"));
+               status = NT_STATUS_INVALID_NETWORK_RESPONSE;
+               goto invalidate_requests;
+       }
+
        /*
         * TODO: Handle oplock break requests
         */