]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
lib:krb5_wrap: Have smb_krb5_principal_get_realm() check the return values of interme...
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Tue, 5 Sep 2023 03:47:06 +0000 (15:47 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 14 Sep 2023 21:35:29 +0000 (21:35 +0000)
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
lib/krb5_wrap/krb5_samba.c

index 1df6d47070d15cc7862fdbd6b6904b3d82656b72..1183338e2b221aaa6d52657a8b530ad4af09e0b2 100644 (file)
@@ -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