From: Jeremy Allison Date: Sat, 10 Mar 2012 00:47:21 +0000 (-0800) Subject: Fix up Christian Ambach's multi-credit code - the CreditCharge field is a 16-bit... X-Git-Tag: tdb-1.2.10~273 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=97e1652125a46ffbc1510b26abb0379d7df690d3;p=thirdparty%2Fsamba.git Fix up Christian Ambach's multi-credit code - the CreditCharge field is a 16-bit int read, not a 32-bit one. --- diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c index c8afd9fa6cc..3993673bcb8 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) {