diff options
author | Jeremy Allison <jra@samba.org> | 2011-09-22 09:06:48 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2011-09-22 19:41:31 +0200 |
commit | d50fa9c21e1c3b6f7126c33e24966099c7567225 (patch) | |
tree | ed19734f8c9c744eced5d2069eaa2c77db8e2641 /source3 | |
parent | 0921e750018a53c02e9984006a48cb08cd370b92 (diff) | |
download | samba-d50fa9c21e1c3b6f7126c33e24966099c7567225.tar.gz samba-d50fa9c21e1c3b6f7126c33e24966099c7567225.tar.bz2 samba-d50fa9c21e1c3b6f7126c33e24966099c7567225.zip |
Fix bug #8476 - Samba asserts when SMB2 client breaks the crediting rules.
Just drop the connection, not SMB_ASSERT.
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Thu Sep 22 19:41:31 CEST 2011 on sn-devel-104
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/smb2_server.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c index d1b7ac5ce1..0ffeb4818d 100644 --- a/source3/smbd/smb2_server.c +++ b/source3/smbd/smb2_server.c @@ -322,8 +322,13 @@ static bool smb2_validate_message_id(struct smbd_server_connection *sconn, return false; } + if (sconn->smb2.credits_granted == 0) { + smbd_server_connection_terminate(sconn, "smb2_validate_message_id: " + "terminating connection: client used more credits than granted\n"); + return false; + } + /* client just used a credit. */ - SMB_ASSERT(sconn->smb2.credits_granted > 0); sconn->smb2.credits_granted -= 1; /* Mark the message_id as seen in the bitmap. */ |