diff --git a/daemons/ipa-kdb/ipa_kdb_kdcpolicy.c b/daemons/ipa-kdb/ipa_kdb_kdcpolicy.c index 0b8aa668f..9467b1ba1 100644 --- a/daemons/ipa-kdb/ipa_kdb_kdcpolicy.c +++ b/daemons/ipa-kdb/ipa_kdb_kdcpolicy.c @@ -23,6 +23,7 @@ ipa_kdcpolicy_check_as(krb5_context context, krb5_kdcpolicy_moddata moddata, struct ipadb_e_data *ied; struct ipadb_e_pol_limits *pol_limits = NULL; int valid_auth_indicators = 0; + krb5_db_entry *client_actual = NULL; *status = NULL; *lifetime_out = 0; @@ -32,13 +33,14 @@ ipa_kdcpolicy_check_as(krb5_context context, krb5_kdcpolicy_moddata moddata, if (ied == NULL || ied->magic != IPA_E_DATA_MAGIC) { /* e-data is not availble, getting user auth from LDAP */ krb5_klog_syslog(LOG_INFO, "IPA kdcpolicy: client e_data not availble. Try fetching..."); - kerr = ipadb_get_principal(context, request->client, KRB5_KDB_FLAG_ALIAS_OK, &client); + kerr = ipadb_get_principal(context, request->client, + KRB5_KDB_FLAG_ALIAS_OK, &client_actual); if (kerr != 0) { krb5_klog_syslog(LOG_ERR, "IPA kdcpolicy: ipadb_find_principal failed."); return kerr; } - ied = (struct ipadb_e_data *)client->e_data; + ied = (struct ipadb_e_data *)client_actual->e_data; if (ied == NULL && ied->magic != IPA_E_DATA_MAGIC) { krb5_klog_syslog(LOG_ERR, "IPA kdcpolicy: client e_data fetching failed."); return EINVAL;