From d50fa9c21e1c3b6f7126c33e24966099c7567225 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 22 Sep 2011 09:06:48 -0700 Subject: [PATCH] Fix bug #8476 - Samba asserts when SMB2 client breaks the crediting rules. Just drop the connection, not SMB_ASSERT. Autobuild-User: Jeremy Allison Autobuild-Date: Thu Sep 22 19:41:31 CEST 2011 on sn-devel-104 --- source3/smbd/smb2_server.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c index d1b7ac5ce1f..0ffeb4818d0 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. */ -- 2.34.1