From da9cad2047b13d781afb7789d79599b5f3218bfa Mon Sep 17 00:00:00 2001 From: Joseph Sutton Date: Mon, 12 Jun 2023 16:20:06 +1200 Subject: [PATCH] =?UTF-8?q?kdc:=20Overwrite=20=E2=80=98error=5Fcode?= =?UTF-8?q?=E2=80=99=20only=20if=20we=20have=20an=20actual=20error?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ‘r->error_code’ might have been set earlier, and we don’t want to overwrite it with a successful error code. Signed-off-by: Joseph Sutton --- kdc/kerberos5.c | 5 ++++- kdc/krb5tgs.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/kdc/kerberos5.c b/kdc/kerberos5.c index d692690d9..d5ed93994 100644 --- a/kdc/kerberos5.c +++ b/kdc/kerberos5.c @@ -2743,7 +2743,10 @@ _kdc_as_rep(astgs_request_t r) } out: - r->error_code = ret; + if (ret) { + /* Overwrite ‘error_code’ only if we have an actual error. */ + r->error_code = ret; + } { krb5_error_code ret2 = _kdc_audit_request(r); if (ret2) { diff --git a/kdc/krb5tgs.c b/kdc/krb5tgs.c index 06c42df20..77e2d1de9 100644 --- a/kdc/krb5tgs.c +++ b/kdc/krb5tgs.c @@ -2161,7 +2161,10 @@ _kdc_tgs_rep(astgs_request_t r) } out: - r->error_code = ret; + if (ret) { + /* Overwrite ‘error_code’ only if we have an actual error. */ + r->error_code = ret; + } { krb5_error_code ret2 = _kdc_audit_request(r); if (ret2) {