From: Joseph Sutton Date: Tue, 5 Sep 2023 04:46:17 +0000 (+1200) Subject: s4:rpc_server: Switch to using smb_krb5_princ_component() X-Git-Tag: tevent-0.16.0~572 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7e62f3921f2d6776f857072b9f4dd2a3302a8bca;p=thirdparty%2Fsamba.git s4:rpc_server: Switch to using smb_krb5_princ_component() Signed-off-by: Joseph Sutton Reviewed-by: Andrew Bartlett --- diff --git a/source4/rpc_server/drsuapi/writespn.c b/source4/rpc_server/drsuapi/writespn.c index 9e4b533365a..ac9199946c8 100644 --- a/source4/rpc_server/drsuapi/writespn.c +++ b/source4/rpc_server/drsuapi/writespn.c @@ -65,7 +65,7 @@ static bool writespn_check_spn(struct drsuapi_bind_state *b_state, krb5_context krb_ctx; krb5_error_code kerr; krb5_principal principal; - const krb5_data *component; + krb5_data component; const char *dns_name, *dnsHostName; /* The service principal name shouldn't be NULL */ @@ -128,8 +128,14 @@ static bool writespn_check_spn(struct drsuapi_bind_state *b_state, return false; } - component = krb5_princ_component(krb_ctx, principal, 1); - dns_name = (const char *)component->data; + kerr = smb_krb5_princ_component(krb_ctx, principal, 1, &component); + if (kerr) { + krb5_free_principal(krb_ctx, principal); + krb5_free_context(krb_ctx); + talloc_free(tmp_ctx); + return false; + } + dns_name = (const char *)component.data; if (strcasecmp(dns_name, dnsHostName) != 0) { krb5_free_principal(krb_ctx, principal);