Udiff g_delete_sec_context.c
--- /net/etna.eng/build7/semery/mit2/webrev/usr/src/lib/libgss/g_delete_sec_context.c-  Wed Sep  8 17:00:18 2004
+++ g_delete_sec_context.c      Wed Sep  8 13:42:02 2004
@@ -1,11 +1,11 @@
 /*
  * Copyright (c) 1996,1997, by Sun Microsystems, Inc.
  * All rights reserved.
  */
 
-#pragma ident  "@(#)g_delete_sec_context.c     1.12    04/09/08 SMI"
+#pragma ident  "@(#)g_delete_sec_context.c     1.11    97/11/09 SMI"
 
 /*
  *  glue routine for gss_delete_sec_context
  */
 
@@ -27,16 +27,16 @@
 {
        OM_uint32               status;
        gss_union_ctx_id_t      ctx;
        gss_mechanism           mech;
 
-       gss_initialize();
+       if (minor_status == NULL)
+               return (GSS_S_CALL_INACCESSIBLE_WRITE);
 
        /* if the context_handle is Null, return NO_CONTEXT error */
-
        if (context_handle == NULL || *context_handle == GSS_C_NO_CONTEXT)
-               return (GSS_S_NO_CONTEXT);
+               return (GSS_S_CALL_INACCESSIBLE_READ | GSS_S_NO_CONTEXT);
 
        /*
         * select the approprate underlying mechanism routine and
         * call it.
         */
@@ -50,19 +50,18 @@
                        status = mech->gss_delete_sec_context(mech->context,
                                                        minor_status,
                                                        &ctx->internal_ctx_id,
                                                        output_token);
                else
-                       status = GSS_S_BAD_BINDINGS;
+                       status = GSS_S_UNAVAILABLE;
 
                /* now free up the space for the union context structure */
-
                free(ctx->mech_type->elements);
                free(ctx->mech_type);
                free(*context_handle);
                *context_handle = NULL;
 
                return (status);
        }
 
-       return (GSS_S_NO_CONTEXT);
+       return (GSS_S_BAD_MECH);
 }