From 908eb6dde51917bb50d388a1769c50eede68fc10 Mon Sep 17 00:00:00 2001 From: Greg Hudson Date: Tue, 16 Apr 2019 10:47:35 -0400 Subject: [PATCH] Fix config realm change logic in FILE remove_cred Use data_eq_string() to check the server realm, and do not check if cred->server is NULL since it is not expected to be (and k5_marshal_cred() would have already crashed if it were). ticket: 8792 (cherry picked from commit e5367fcddd53dc4db0c1fd2279e91eda3791960a) --- src/lib/krb5/ccache/cc_file.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/krb5/ccache/cc_file.c b/src/lib/krb5/ccache/cc_file.c index 09da38fa9..a3f67766e 100644 --- a/src/lib/krb5/ccache/cc_file.c +++ b/src/lib/krb5/ccache/cc_file.c @@ -1058,8 +1058,7 @@ delete_cred(krb5_context context, krb5_ccache cache, krb5_cc_cursor *cursor, /* For config entries, also change the realm so that other implementations * won't match them. */ - if (cred->server != NULL && cred->server->realm.length > 0 && - strcmp(cred->server->realm.data, "X-CACHECONF:") == 0) + if (data_eq_string(cred->server->realm, "X-CACHECONF:")) memcpy(cred->server->realm.data, "X-RMED-CONF:", 12); k5_marshal_cred(&overwrite, fcursor->version, cred);