]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
TGS error path can end up with null state if it fails too soon. In
authorSam Hartman <hartmans@mit.edu>
Wed, 1 Apr 2009 21:13:40 +0000 (21:13 +0000)
committerSam Hartman <hartmans@mit.edu>
Wed, 1 Apr 2009 21:13:40 +0000 (21:13 +0000)
this case do not call into FAST.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/fast@22158 dc483132-0cff-0310-8789-dd5450dbe970

src/kdc/do_tgs_req.c

index e06d94dfca861657c0bb9afe9a3cf9f08e3fda6a..7ff601cd8183aca145c380d46b348c7591146a2a 100644 (file)
@@ -972,7 +972,7 @@ prepare_error_tgs (struct kdc_request_state *state,
                    krb5_data **response, const char *status)
 {
     krb5_error errpkt;
-    krb5_error_code retval;
+    krb5_error_code retval = 0;
     krb5_data *scratch;
 
     errpkt.ctime = request->nonce;
@@ -997,7 +997,8 @@ prepare_error_tgs (struct kdc_request_state *state,
     }
     errpkt.e_data.length = 0;
     errpkt.e_data.data = NULL;
-    retval = kdc_fast_handle_error(kdc_context, state, request, NULL, &errpkt);
+    if (state)
+       retval = kdc_fast_handle_error(kdc_context, state, request, NULL, &errpkt);
     if (retval) {
        free(scratch);
        free(errpkt.text.data);