diff options
Diffstat (limited to 'lib/libgssapi/gss_export_name.c')
-rw-r--r-- | lib/libgssapi/gss_export_name.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/lib/libgssapi/gss_export_name.c b/lib/libgssapi/gss_export_name.c index 6cba2f8..49174bb 100644 --- a/lib/libgssapi/gss_export_name.c +++ b/lib/libgssapi/gss_export_name.c @@ -30,6 +30,7 @@ #include "mech_switch.h" #include "name.h" +#include "utils.h" OM_uint32 gss_export_name(OM_uint32 *minor_status, @@ -39,8 +40,7 @@ gss_export_name(OM_uint32 *minor_status, struct _gss_name *name = (struct _gss_name *) input_name; struct _gss_mechanism_name *mn; - exported_name->value = NULL; - exported_name->length = 0; + _gss_buffer_zero(exported_name); /* * If this name already has any attached MNs, export the first @@ -48,12 +48,9 @@ gss_export_name(OM_uint32 *minor_status, * list. */ mn = SLIST_FIRST(&name->gn_mn); - if (!mn) - mn = _gss_find_mn(name, - &SLIST_FIRST(&_gss_mechs)->gm_mech_oid); if (!mn) { *minor_status = 0; - return (GSS_S_BAD_MECH); + return (GSS_S_NAME_NOT_MN); } return mn->gmn_mech->gm_export_name(minor_status, |