diff --git a/kdc/kerberos5.c b/kdc/kerberos5.c index a7e92c785..241d0eac6 100644 --- a/kdc/kerberos5.c +++ b/kdc/kerberos5.c @@ -2733,7 +2733,13 @@ _kdc_as_rep(astgs_request_t r) out: r->error_code = ret; - _kdc_audit_request(r); + { + krb5_error_code ret2 = _kdc_audit_request(r); + if (ret2) { + krb5_data_free(r->reply); + ret = ret2; + } + } /* * In case of a non proxy error, build an error message. diff --git a/kdc/krb5tgs.c b/kdc/krb5tgs.c index a12191a66..871484e29 100644 --- a/kdc/krb5tgs.c +++ b/kdc/krb5tgs.c @@ -2157,7 +2157,13 @@ _kdc_tgs_rep(astgs_request_t r) out: r->error_code = ret; - _kdc_audit_request(r); + { + krb5_error_code ret2 = _kdc_audit_request(r); + if (ret2) { + krb5_data_free(data); + ret = ret2; + } + } if(ret && ret != HDB_ERR_NOT_FOUND_HERE && data->data == NULL){ METHOD_DATA error_method = { 0, NULL };