Cdiff g_rel_name.c
--- /net/etna.eng/build7/semery/mit2/webrev/usr/src/lib/libgss/g_rel_name.c-    Wed Sep  8 17:01:07 2004
+++ g_rel_name.c        Wed Sep  8 13:42:04 2004
@@ -1,11 +1,11 @@
 /*
  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
-#pragma ident  "@(#)g_rel_name.c       1.12    04/09/08 SMI"
+#pragma ident  "@(#)g_rel_name.c       1.11    04/02/23 SMI"
 
 /*
  *  glue routine for gss_release_name
  */
 
@@ -24,14 +24,17 @@
 gss_name_t *input_name;
 
 {
        gss_union_name_t        union_name;
 
-       /* if input_name is NULL, return error */
+       if (minor_status == NULL)
+               return (GSS_S_CALL_INACCESSIBLE_WRITE);
+       *minor_status = 0;
 
+       /* if input_name is NULL, return error */
        if (input_name == 0)
-               return (GSS_S_BAD_NAME);
+               return (GSS_S_CALL_INACCESSIBLE_READ | GSS_S_BAD_NAME);
 
        /*
         * free up the space for the external_name and then
         * free the union_name descriptor
         */
@@ -38,13 +41,10 @@
 
        union_name = (gss_union_name_t)*input_name;
        *input_name = 0;
        *minor_status = 0;
 
-       if (union_name == NULL)
-               return (GSS_S_BAD_NAME);
-
        if (union_name->name_type)
                (void) gss_release_oid(minor_status, &union_name->name_type);
 
        free(union_name->external_name->value);
        free(union_name->external_name);