From b0884904482f10a728090e375706cbffc3ff796a 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 (cherry picked from commit d50fa9c21e1c3b6f7126c33e24966099c7567225) --- 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 41ef607..4de4ef5 100644 --- a/source3/smbd/smb2_server.c +++ b/source3/smbd/smb2_server.c @@ -319,8 +319,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. */ -- 1.7.1