]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
Fix bug #8686 - Packet validation checks can be done before length validation causing...
authorVolker Lendecke <Volker.Lendecke@SerNet.DE>
Wed, 4 Jan 2012 19:09:54 +0000 (11:09 -0800)
committerKarolin Seeger <kseeger@samba.org>
Tue, 10 Jan 2012 19:57:07 +0000 (20:57 +0100)
source3/smbd/process.c

index b3704233ad85d8caac0ea0a9eb3c0fde4a5eea8d..5aa19cbee0d7c1471ef9dfad278b5ad2e70d86f7 100644 (file)
@@ -1442,8 +1442,8 @@ static connection_struct *switch_message(uint8 type, struct smb_request *req, in
 
        /* Make sure this is an SMB packet. smb_size contains NetBIOS header
         * so subtract 4 from it. */
-       if (!valid_smb_header(req->inbuf)
-           || (size < (smb_size - 4))) {
+       if ((size < (smb_size - 4)) ||
+           !valid_smb_header(req->inbuf)) {
                DEBUG(2,("Non-SMB packet of length %d. Terminating server\n",
                         smb_len(req->inbuf)));
                exit_server_cleanly("Non-SMB packet");