diff --git a/lib/krb5/rd_cred.c b/lib/krb5/rd_cred.c index a3297d532..c1a1dd183 100644 --- a/lib/krb5/rd_cred.c +++ b/lib/krb5/rd_cred.c @@ -79,8 +79,10 @@ krb5_rd_cred(krb5_context context, ret = decode_KRB_CRED(in_data->data, in_data->length, &cred, &len); - if(ret) + if(ret) { + krb5_clear_error_string(context); return ret; + } if (cred.pvno != 5) { ret = KRB5KRB_AP_ERR_BADVERSION; diff --git a/lib/krb5/rd_error.c b/lib/krb5/rd_error.c index 57fe68cc8..1a20b9878 100644 --- a/lib/krb5/rd_error.c +++ b/lib/krb5/rd_error.c @@ -45,8 +45,10 @@ krb5_rd_error(krb5_context context, krb5_error_code ret; ret = decode_KRB_ERROR(msg->data, msg->length, result, &len); - if(ret) + if(ret) { + krb5_clear_error_string(context); return ret; + } result->error_code += KRB5KDC_ERR_NONE; return 0; }