diff options
Diffstat (limited to 'lib/libgssapi/gss_display_status.c')
-rw-r--r-- | lib/libgssapi/gss_display_status.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/libgssapi/gss_display_status.c b/lib/libgssapi/gss_display_status.c index 96f68609c5..f87cc9e 100644 --- a/lib/libgssapi/gss_display_status.c +++ b/lib/libgssapi/gss_display_status.c @@ -144,11 +144,20 @@ OM_uint32 gss_display_status(OM_uint32 *minor_status, OM_uint32 status_value, int status_type, - const gss_OID mech_type, + const gss_OID input_mech_type, OM_uint32 *message_content, gss_buffer_t status_string) { OM_uint32 major_status; + gss_OID mech_type; + + mech_type = input_mech_type; + if (mech_type == GSS_C_NO_OID) { + _gss_load_mech(); + mech_type = &SLIST_FIRST(&_gss_mechs)->gm_mech_oid; + if (mech_type == NULL) + return (GSS_S_BAD_MECH); + } *minor_status = 0; switch (status_type) { |