summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2011-09-22 09:06:48 -0700
committerJeremy Allison <jra@samba.org>2011-09-22 19:41:31 +0200
commitd50fa9c21e1c3b6f7126c33e24966099c7567225 (patch)
treeed19734f8c9c744eced5d2069eaa2c77db8e2641 /source3/smbd
parent0921e750018a53c02e9984006a48cb08cd370b92 (diff)
downloadsamba-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/smbd')
-rw-r--r--source3/smbd/smb2_server.c7
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. */