summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/process.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index 48dbfa1e8cb..02a219eec8f 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -3367,6 +3367,7 @@ void smbd_process(struct tevent_context *ev_ctx,
const char *remaddr = NULL;
char *rhost;
int ret;
+ int tmp;
conn = talloc_zero(ev_ctx, struct smbXsrv_connection);
if (conn == NULL) {
@@ -3655,7 +3656,11 @@ void smbd_process(struct tevent_context *ev_ctx,
sconn->nbt.got_session = false;
- sconn->smb1.negprot.max_recv = MIN(lp_max_xmit(),BUFFER_SIZE);
+ tmp = lp_max_xmit();
+ tmp = MAX(tmp, SMB_BUFFER_SIZE_MIN);
+ tmp = MIN(tmp, SMB_BUFFER_SIZE_MAX);
+
+ sconn->smb1.negprot.max_recv = tmp;
sconn->smb1.sessions.done_sesssetup = false;
sconn->smb1.sessions.max_send = BUFFER_SIZE;