diff options
author | Jeremy Allison <jra@samba.org> | 2016-10-17 10:07:23 -0700 |
---|---|---|
committer | Ralph Boehme <slow@samba.org> | 2016-10-18 02:16:20 +0200 |
commit | 44a7040500d74551b48eba04f5d0bedb1ec35ba6 (patch) | |
tree | 450c8f742ecbb84028576ea564c7053aa9e48bbc /libcli | |
parent | e84521dc44585fbde8b239bed2dcfaa1423d2796 (diff) | |
download | samba-44a7040500d74551b48eba04f5d0bedb1ec35ba6.tar.gz |
s3: cldap: cldap_multi_netlogon_send() fails with one bad IPv6 address.
Analysis by: Rebecca Gellman <rebecca@starfleet-net.co.uk>
Ignore cldap_socket_init() failure when sending
multiple cldap netlogon requests. Allow cldap_netlogon_send()
to catch the bad address and correctly return through a
tevent subreq.
Make sure cldap_search_send() copes with cldap parameter == NULL.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12381
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Tue Oct 18 02:16:20 CEST 2016 on sn-devel-144
Diffstat (limited to 'libcli')
-rw-r--r-- | libcli/cldap/cldap.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libcli/cldap/cldap.c b/libcli/cldap/cldap.c index c5977cc994a..87f82b9b0de 100644 --- a/libcli/cldap/cldap.c +++ b/libcli/cldap/cldap.c @@ -585,6 +585,11 @@ struct tevent_req *cldap_search_send(TALLOC_CTX *mem_ctx, talloc_set_destructor(state, cldap_search_state_destructor); + if (state->caller.cldap == NULL) { + tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER); + goto post; + } + if (io->in.dest_address) { if (cldap->connected) { tevent_req_nterror(req, NT_STATUS_PIPE_CONNECTED); |