diff options
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/trans2.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 825481984d..31a74ae482 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -1357,7 +1357,12 @@ static int call_trans2findfirst(connection_struct *conn, char *inbuf, char *outb close_if_end = %d requires_resume_key = %d level = 0x%x, max_data_bytes = %d\n", dirtype, maxentries, close_after_first, close_if_end, requires_resume_key, info_level, max_data_bytes)); - + + if (!maxentries) { + /* W2K3 seems to treat zero as 1. */ + maxentries = 1; + } + switch (info_level) { case SMB_INFO_STANDARD: case SMB_INFO_QUERY_EA_SIZE: @@ -1583,6 +1588,11 @@ resume_key = %d resume name = %s continue=%d level = %d\n", dptr_num, max_data_bytes, maxentries, close_after_request, close_if_end, requires_resume_key, resume_key, resume_name, continue_bit, info_level)); + if (!maxentries) { + /* W2K3 seems to treat zero as 1. */ + maxentries = 1; + } + switch (info_level) { case SMB_INFO_STANDARD: case SMB_INFO_QUERY_EA_SIZE: |