diff options
-rw-r--r-- | libcli/smb/smbXcli_base.c | 11 | ||||
-rw-r--r-- | selftest/knownfail.d/smb2_zero_readsize | 1 |
2 files changed, 11 insertions, 1 deletions
diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c index aaf2d405a94..a2a551d0f79 100644 --- a/libcli/smb/smbXcli_base.c +++ b/libcli/smb/smbXcli_base.c @@ -5128,6 +5128,17 @@ static void smbXcli_negprot_smb2_done(struct tevent_req *subreq) conn->smb2.server.system_time = BVAL(body, 40); conn->smb2.server.start_time = BVAL(body, 48); + if (conn->smb2.server.max_trans_size == 0 || + conn->smb2.server.max_read_size == 0 || + conn->smb2.server.max_write_size == 0) { + /* + * We can't connect to servers we can't + * do any operations on. + */ + tevent_req_nterror(req, NT_STATUS_INVALID_NETWORK_RESPONSE); + return; + } + security_offset = SVAL(body, 56); security_length = SVAL(body, 58); diff --git a/selftest/knownfail.d/smb2_zero_readsize b/selftest/knownfail.d/smb2_zero_readsize deleted file mode 100644 index c7ec92cd629..00000000000 --- a/selftest/knownfail.d/smb2_zero_readsize +++ /dev/null @@ -1 +0,0 @@ -^samba3.blackbox.zero_readsize.smb2_zero_readsize\(simpleserver:local\) |