From bb22f358b17a822b1ecde61b3dc451f30e7221c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Tue, 9 Sep 2003 23:44:25 +0000 Subject: [PATCH] (spnego_initial): catch errors and return them git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@12806 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/gssapi/init_sec_context.c | 8 +++++++- lib/gssapi/krb5/init_sec_context.c | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/gssapi/init_sec_context.c b/lib/gssapi/init_sec_context.c index d1546182d..fd3e9abff 100644 --- a/lib/gssapi/init_sec_context.c +++ b/lib/gssapi/init_sec_context.c @@ -851,6 +851,10 @@ spnego_initial &mech_token, ret_flags, time_rec); + if (GSS_ERROR(sub)) { + free_NegTokenInit(&ni); + return sub; + } if (mech_token.length != 0) { ALLOC(ni.mechToken, 1); if (ni.mechToken == NULL) { @@ -861,7 +865,9 @@ spnego_initial } ni.mechToken->length = mech_token.length; ni.mechToken->data = mech_token.value; - } + } else + ni.mechToken = NULL; + /* XXX ignore mech list mic for now */ ni.mechListMIC = NULL; diff --git a/lib/gssapi/krb5/init_sec_context.c b/lib/gssapi/krb5/init_sec_context.c index d1546182d..fd3e9abff 100644 --- a/lib/gssapi/krb5/init_sec_context.c +++ b/lib/gssapi/krb5/init_sec_context.c @@ -851,6 +851,10 @@ spnego_initial &mech_token, ret_flags, time_rec); + if (GSS_ERROR(sub)) { + free_NegTokenInit(&ni); + return sub; + } if (mech_token.length != 0) { ALLOC(ni.mechToken, 1); if (ni.mechToken == NULL) { @@ -861,7 +865,9 @@ spnego_initial } ni.mechToken->length = mech_token.length; ni.mechToken->data = mech_token.value; - } + } else + ni.mechToken = NULL; + /* XXX ignore mech list mic for now */ ni.mechListMIC = NULL;