diff --git a/source3/libads/kerberos.c b/source3/libads/kerberos.c index 72ce5b7bb34..291cb7b1e01 100644 --- a/source3/libads/kerberos.c +++ b/source3/libads/kerberos.c @@ -445,18 +445,17 @@ static char *get_kdc_ip_string(char *mem_ctx, char *kdc_str = NULL; char *canon_sockaddr = NULL; + kdc_str = talloc_strdup(frame, ""); + if (pss != NULL) { canon_sockaddr = print_canonical_sockaddr_with_port(frame, pss); if (canon_sockaddr == NULL) { goto out; } - kdc_str = talloc_asprintf(frame, - "\t\tkdc = %s\n", - canon_sockaddr); - if (kdc_str == NULL) { - goto out; - } + talloc_asprintf_addbuf(&kdc_str, + "\t\tkdc = %s\n", + canon_sockaddr); ok = sockaddr_storage_to_samba_sockaddr(&sa, pss); if (!ok) { @@ -579,22 +578,15 @@ static char *get_kdc_ip_string(char *mem_ctx, } for (i=0; i