mit-samba: Use talloc_get_type_abort() instead of casting
authorAndreas Schneider <asn@samba.org>
Mon, 12 Jul 2021 11:05:59 +0000 (13:05 +0200)
committerAndreas Schneider <asn@cryptomilk.org>
Thu, 5 Aug 2021 09:46:30 +0000 (09:46 +0000)
This is safer to use and fixes compiler warnings.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/kdc/mit_samba.c

index 0a142513608e906d6c36e05295c8c5745caa3450..0a0d3a98315651653c7d98d96146cea430683c58 100644 (file)
@@ -1076,7 +1076,8 @@ int mit_samba_kpasswd_change_password(struct mit_samba_context *ctx,
        struct samr_DomInfo1 *dominfo;
        const char *error_string = NULL;
        struct auth_user_info_dc *user_info_dc;
-       struct samba_kdc_entry *p;
+       struct samba_kdc_entry *p =
+               talloc_get_type_abort(db_entry->e_data, struct samba_kdc_entry);
        krb5_error_code code = 0;
 
 #ifdef DEBUG_PASSWORD
@@ -1088,8 +1089,6 @@ int mit_samba_kpasswd_change_password(struct mit_samba_context *ctx,
                return ENOMEM;
        }
 
-       p = (struct samba_kdc_entry *)db_entry->e_data;
-
        status = authsam_make_user_info_dc(tmp_ctx,
                                           ctx->db_ctx->samdb,
                                           lpcfg_netbios_name(ctx->db_ctx->lp_ctx),
@@ -1165,11 +1164,10 @@ out:
 void mit_samba_zero_bad_password_count(krb5_db_entry *db_entry)
 {
        struct netr_SendToSamBase *send_to_sam = NULL;
-       struct samba_kdc_entry *p;
+       struct samba_kdc_entry *p =
+               talloc_get_type_abort(db_entry->e_data, struct samba_kdc_entry);
        struct ldb_dn *domain_dn;
 
-       p = (struct samba_kdc_entry *)db_entry->e_data;
-
        domain_dn = ldb_get_default_basedn(p->kdc_db_ctx->samdb);
 
        authsam_logon_success_accounting(p->kdc_db_ctx->samdb,
@@ -1183,9 +1181,8 @@ void mit_samba_zero_bad_password_count(krb5_db_entry *db_entry)
 
 void mit_samba_update_bad_password_count(krb5_db_entry *db_entry)
 {
-       struct samba_kdc_entry *p;
-
-       p = (struct samba_kdc_entry *)db_entry->e_data;
+       struct samba_kdc_entry *p =
+               talloc_get_type_abort(db_entry->e_data, struct samba_kdc_entry);
 
        authsam_update_bad_pwd_count(p->kdc_db_ctx->samdb,
                                     p->msg,