summaryrefslogtreecommitdiff
path: root/auth
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2017-07-07 10:44:00 +0200
committerAndreas Schneider <asn@cryptomilk.org>2017-07-25 13:51:09 +0200
commit482fe65eb9ca4dee9b26e2634d0810a923ea07c0 (patch)
tree28acb3648f2606e8e634d6dbd2bb6e820b2fe1f9 /auth
parent7c04ee943f2236e73a259ba79c70d16c73875498 (diff)
downloadsamba-482fe65eb9ca4dee9b26e2634d0810a923ea07c0.tar.gz
auth/spnego: let gensec_spnego_parse_negTokenInit() require client provides mechs
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'auth')
-rw-r--r--auth/gensec/spnego.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/auth/gensec/spnego.c b/auth/gensec/spnego.c
index db90e010fcd..9f7d1ade910 100644
--- a/auth/gensec/spnego.c
+++ b/auth/gensec/spnego.c
@@ -227,12 +227,19 @@ static NTSTATUS gensec_spnego_parse_negTokenInit(struct gensec_security *gensec_
}
mechType = spnego_in->negTokenInit.mechTypes;
+ if (mechType == NULL) {
+ return NT_STATUS_INVALID_PARAMETER;
+ }
unwrapped_in = spnego_in->negTokenInit.mechToken;
all_sec = gensec_security_by_oid_list(gensec_security,
out_mem_ctx,
mechType,
GENSEC_OID_SPNEGO);
+ if (all_sec == NULL) {
+ DBG_WARNING("gensec_security_by_oid_list() failed\n");
+ return NT_STATUS_INVALID_PARAMETER;
+ }
ok = spnego_write_mech_types(spnego_state,
mechType,