diff -urN krb5-1.5.2.old/src/lib/gssapi/krb5/k5unseal.c krb5-1.5.2/src/lib/gssapi/krb5/k5unseal.c --- krb5-1.5.2.old/src/lib/gssapi/krb5/k5unseal.c 2006-05-09 07:31:02.000000000 -0400 +++ krb5-1.5.2/src/lib/gssapi/krb5/k5unseal.c 2007-03-28 21:13:44.000000000 -0400 @@ -457,8 +457,11 @@ if ((ctx->initiate && direction != 0xff) || (!ctx->initiate && direction != 0)) { - if (toktype == KG_TOK_SEAL_MSG) + if (toktype == KG_TOK_SEAL_MSG) { xfree(token.value); + message_buffer->value = NULL; + message_buffer->length = 0; + } *minor_status = G_BAD_DIRECTION; return(GSS_S_BAD_SIG); }