Cdiff g_sign.c
--- /net/etna.eng/build7/semery/mit2/webrev/usr/src/lib/libgss/g_sign.c-        Wed Sep  8 17:01:11 2004
+++ g_sign.c    Wed Sep  8 13:42:05 2004
@@ -1,11 +1,11 @@
 /*
  * Copyright (c) 1996,1997, by Sun Microsystems, Inc.
  * All rights reserved.
  */
 
-#pragma ident  "@(#)g_sign.c   1.15    04/09/08 SMI"
+#pragma ident  "@(#)g_sign.c   1.14    98/04/23 SMI"
 
 /*
  *  glue routine gss_sign
  */
 
@@ -27,12 +27,25 @@
 {
        OM_uint32               status;
        gss_union_ctx_id_t      ctx;
        gss_mechanism           mech;
 
-       gss_initialize();
+       if (minor_status == NULL)
+               return (GSS_S_CALL_INACCESSIBLE_WRITE);
+       *minor_status = 0;
 
+       if (context_handle == GSS_C_NO_CONTEXT)
+               return (GSS_S_CALL_INACCESSIBLE_READ | GSS_S_NO_CONTEXT);
+
+       if (message_buffer == NULL)
+               return (GSS_S_CALL_INACCESSIBLE_READ);
+
+       if (msg_token == NULL)
+               return (GSS_S_CALL_INACCESSIBLE_WRITE);
+
+       msg_token->value = NULL;
+       msg_token->length = 0;
        /*
         * select the approprate underlying mechanism routine and
         * call it.
         */
 
@@ -47,16 +60,16 @@
                                                ctx->internal_ctx_id,
                                                qop_req,
                                                message_buffer,
                                                msg_token);
                else
-                       status = GSS_S_BAD_BINDINGS;
+                       status = GSS_S_UNAVAILABLE;
 
                return (status);
        }
 
-       return (GSS_S_NO_CONTEXT);
+       return (GSS_S_BAD_MECH);
 }
 
 OM_uint32
 gss_get_mic(minor_status,
                context_handle,