Reset out variables.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19958 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2007-01-17 13:56:18 +00:00
parent d12e6d103d
commit a91751a349

View File

@@ -46,19 +46,31 @@ gss_inquire_context(OM_uint32 *minor_status,
struct _gss_name *name; struct _gss_name *name;
gss_name_t src_mn, targ_mn; gss_name_t src_mn, targ_mn;
if (locally_initiated)
*locally_initiated = 0;
if (open)
*open = 0;
if (lifetime_rec)
*lifetime_rec = 0;
if (src_name)
*src_name = GSS_C_NO_NAME;
if (targ_name)
*targ_name = GSS_C_NO_NAME;
if (mech_type)
*mech_type = GSS_C_NO_OID;
src_mn = targ_mn = GSS_C_NO_NAME;
major_status = m->gm_inquire_context(minor_status, major_status = m->gm_inquire_context(minor_status,
ctx->gc_ctx, ctx->gc_ctx,
src_name ? &src_mn : 0, src_name ? &src_mn : NULL,
targ_name ? &targ_mn : 0, targ_name ? &targ_mn : NULL,
lifetime_rec, lifetime_rec,
mech_type, mech_type,
ctx_flags, ctx_flags,
locally_initiated, locally_initiated,
open); open);
if (src_name) *src_name = 0;
if (targ_name) *targ_name = 0;
if (major_status != GSS_S_COMPLETE) { if (major_status != GSS_S_COMPLETE) {
_gss_mg_error(m, major_status, *minor_status); _gss_mg_error(m, major_status, *minor_status);
return (major_status); return (major_status);
@@ -67,7 +79,9 @@ gss_inquire_context(OM_uint32 *minor_status,
if (src_name) { if (src_name) {
name = _gss_make_name(m, src_mn); name = _gss_make_name(m, src_mn);
if (!name) { if (!name) {
minor_status = 0; *mech_type = GSS_C_NO_OID;
m->gm_release_name(minor_status, &src_mn);
*minor_status = 0;
return (GSS_S_FAILURE); return (GSS_S_FAILURE);
} }
*src_name = (gss_name_t) name; *src_name = (gss_name_t) name;
@@ -76,7 +90,10 @@ gss_inquire_context(OM_uint32 *minor_status,
if (targ_name) { if (targ_name) {
name = _gss_make_name(m, targ_mn); name = _gss_make_name(m, targ_mn);
if (!name) { if (!name) {
minor_status = 0; *mech_type = GSS_C_NO_OID;
gss_release_name(minor_status, src_name);
m->gm_release_name(minor_status, &targ_mn);
*minor_status = 0;
return (GSS_S_FAILURE); return (GSS_S_FAILURE);
} }
*targ_name = (gss_name_t) name; *targ_name = (gss_name_t) name;