summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/smb_server/tcon.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/source4/smb_server/tcon.c b/source4/smb_server/tcon.c
index f3415ad936..57583afb04 100644
--- a/source4/smb_server/tcon.c
+++ b/source4/smb_server/tcon.c
@@ -147,6 +147,7 @@ static struct smbsrv_tcon *smbsrv_tcon_new(struct smbsrv_connection *smb_conn,
{
TALLOC_CTX *mem_ctx;
struct smbsrv_tcons_context *tcons_ctx;
+ uint32_t handle_uint_max;
struct smbsrv_tcon *tcon;
NTSTATUS status;
int i;
@@ -154,9 +155,11 @@ static struct smbsrv_tcon *smbsrv_tcon_new(struct smbsrv_connection *smb_conn,
if (smb_sess) {
mem_ctx = smb_sess;
tcons_ctx = &smb_sess->smb2_tcons;
+ handle_uint_max = UINT32_MAX;
} else {
mem_ctx = smb_conn;
tcons_ctx = &smb_conn->smb_tcons;
+ handle_uint_max = UINT16_MAX;
}
tcon = talloc_zero(mem_ctx, struct smbsrv_tcon);
@@ -170,7 +173,7 @@ static struct smbsrv_tcon *smbsrv_tcon_new(struct smbsrv_connection *smb_conn,
* the use -1 here, because we don't want to give away the wildcard
* fnum used in SMBflush
*/
- status = smbsrv_init_handles(tcon, UINT16_MAX - 1);
+ status = smbsrv_init_handles(tcon, handle_uint_max - 1);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(1,("ERROR! failed to init handles: %s\n", nt_errstr(status)));
goto failed;