From: Joseph Sutton Date: Tue, 5 Sep 2023 03:47:06 +0000 (+1200) Subject: lib:krb5_wrap: Have smb_krb5_principal_get_realm() check the return values of interme... X-Git-Tag: tevent-0.16.0~577 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d901fe9c6716a8fcdc629795fb08c949f77eb661;p=thirdparty%2Fsamba.git lib:krb5_wrap: Have smb_krb5_principal_get_realm() check the return values of intermediate functions Signed-off-by: Joseph Sutton Reviewed-by: Andrew Bartlett --- diff --git a/lib/krb5_wrap/krb5_samba.c b/lib/krb5_wrap/krb5_samba.c index 1df6d47070d..1183338e2b2 100644 --- a/lib/krb5_wrap/krb5_samba.c +++ b/lib/krb5_wrap/krb5_samba.c @@ -3162,11 +3162,22 @@ char *smb_krb5_principal_get_realm(TALLOC_CTX *mem_ctx, krb5_const_principal principal) { #ifdef HAVE_KRB5_PRINCIPAL_GET_REALM /* Heimdal */ - return talloc_strdup(mem_ctx, - krb5_principal_get_realm(context, principal)); + const char *realm = NULL; + + realm = krb5_principal_get_realm(context, principal); + if (realm == NULL) { + return NULL; + } + + return talloc_strdup(mem_ctx, realm); #elif defined(krb5_princ_realm) /* MIT */ - const krb5_data *realm; + const krb5_data *realm = NULL; + realm = krb5_princ_realm(context, principal); + if (realm == NULL) { + return NULL; + } + return talloc_strndup(mem_ctx, realm->data, realm->length); #else #error UNKNOWN_GET_PRINC_REALM_FUNCTIONS