From e3894c402a31881febc0dc1a97d09dcce0a30220 Mon Sep 17 00:00:00 2001 From: hartmans Date: Thu, 26 Mar 2009 05:36:50 +0000 Subject: [PATCH] Free the request in process_as_req for parallelism with TGS case. This permits the FAST code to free the outer request if FAST is in use. git-svn-id: svn://anonsvn.mit.edu/krb5/branches/fast@22128 dc483132-0cff-0310-8789-dd5450dbe970 --- src/kdc/dispatch.c | 3 ++- src/kdc/do_as_req.c | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/kdc/dispatch.c b/src/kdc/dispatch.c index 77415af82d..36786457f9 100644 --- a/src/kdc/dispatch.c +++ b/src/kdc/dispatch.c @@ -92,11 +92,12 @@ dispatch(krb5_data *pkt, const krb5_fulladdr *from, krb5_data **response) /* * setup_server_realm() sets up the global realm-specific data * pointer. + * process_as_req frees the request if it is called */ if (!(retval = setup_server_realm(as_req->server))) { retval = process_as_req(as_req, pkt, from, response); } - krb5_free_kdc_req(kdc_context, as_req); + else krb5_free_kdc_req(kdc_context, as_req); } } else diff --git a/src/kdc/do_as_req.c b/src/kdc/do_as_req.c index ded72e4a80..d99b5b6884 100644 --- a/src/kdc/do_as_req.c +++ b/src/kdc/do_as_req.c @@ -691,6 +691,7 @@ process_as_req(krb5_kdc_req *request, krb5_data *req_pkt, krb5_free_data_contents(kdc_context, &e_data); kdc_free_rstate(state); + krb5_free_kdc_req(kdc_context, request); assert(did_log != 0); return errcode; }