From 97e1652125a46ffbc1510b26abb0379d7df690d3 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 9 Mar 2012 16:47:21 -0800 Subject: Fix up Christian Ambach's multi-credit code - the CreditCharge field is a 16-bit int read, not a 32-bit one. --- source3/smbd/smb2_server.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c index c8afd9fa6c..3993673bcb 100644 --- a/source3/smbd/smb2_server.c +++ b/source3/smbd/smb2_server.c @@ -333,7 +333,7 @@ static bool smb2_validate_message_id(struct smbd_server_connection *sconn, } if (sconn->smb2.supports_multicredit) { - credit_charge = IVAL(inhdr, SMB2_HDR_CREDIT_CHARGE); + credit_charge = SVAL(inhdr, SMB2_HDR_CREDIT_CHARGE); credit_charge = MAX(credit_charge, 1); } @@ -1297,7 +1297,7 @@ NTSTATUS smbd_smb2_request_verify_creditcharge(struct smbd_smb2_request *req, } inhdr = (const uint8_t *)req->in.vector[i+0].iov_base; - credit_charge = IVAL(inhdr, SMB2_HDR_CREDIT_CHARGE); + credit_charge = SVAL(inhdr, SMB2_HDR_CREDIT_CHARGE); /* requests larger than 64 KB need credit charge */ if (credit_charge == 0 && data_length > 65536) { -- cgit