]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: libsmb: Make find_master_ip() use internal_resolve_name_talloc().
authorJeremy Allison <jra@samba.org>
Wed, 26 Aug 2020 20:32:15 +0000 (13:32 -0700)
committerNoel Power <npower@samba.org>
Mon, 7 Sep 2020 13:23:42 +0000 (13:23 +0000)
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Noel Power <npower@samba.org>
source3/libsmb/namequery.c

index b4b49cd57b0e3efab52043e9182dedf263a8ea13..ec3c8e3df8ab02e087fa33e5e94a0f6250cf8f09 100644 (file)
@@ -3664,7 +3664,7 @@ done:
 bool find_master_ip(const char *group, struct sockaddr_storage *master_ss)
 {
        struct ip_service *ip_list = NULL;
-       int count = 0;
+       size_t count = 0;
        NTSTATUS status;
 
        if (lp_disable_netbios()) {
@@ -3672,23 +3672,35 @@ bool find_master_ip(const char *group, struct sockaddr_storage *master_ss)
                return false;
        }
 
-       status = internal_resolve_name(group, 0x1D, NULL, &ip_list, &count,
-                                      lp_name_resolve_order());
+       status = internal_resolve_name_talloc(talloc_tos(),
+                                       group,
+                                       0x1D,
+                                       NULL,
+                                       &ip_list,
+                                       &count,
+                                       lp_name_resolve_order());
        if (NT_STATUS_IS_OK(status)) {
                *master_ss = ip_list[0].ss;
-               SAFE_FREE(ip_list);
+               TALLOC_FREE(ip_list);
                return true;
        }
 
-       status = internal_resolve_name(group, 0x1B, NULL, &ip_list, &count,
-                                      lp_name_resolve_order());
+       TALLOC_FREE(ip_list);
+
+       status = internal_resolve_name_talloc(talloc_tos(),
+                                       group,
+                                       0x1B,
+                                       NULL,
+                                       &ip_list,
+                                       &count,
+                                       lp_name_resolve_order());
        if (NT_STATUS_IS_OK(status)) {
                *master_ss = ip_list[0].ss;
-               SAFE_FREE(ip_list);
+               TALLOC_FREE(ip_list);
                return true;
        }
 
-       SAFE_FREE(ip_list);
+       TALLOC_FREE(ip_list);
        return false;
 }