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

index 7af3151a561242ba3f04a8b02c65218205def545..06ebeaff2d1bfd3d6e495e650a95838504a4f30c 100644 (file)
@@ -3478,7 +3478,7 @@ bool resolve_name(const char *name,
 {
        struct ip_service *ss_list = NULL;
        char *sitename = NULL;
-       int count = 0;
+       size_t count = 0;
        NTSTATUS status;
        TALLOC_CTX *frame = NULL;
 
@@ -3490,11 +3490,15 @@ bool resolve_name(const char *name,
 
        sitename = sitename_fetch(frame, lp_realm()); /* wild guess */
 
-       status = internal_resolve_name(name, name_type, sitename,
-                                      &ss_list, &count,
-                                      lp_name_resolve_order());
+       status = internal_resolve_name_talloc(frame,
+                                       name,
+                                       name_type,
+                                       sitename,
+                                       &ss_list,
+                                       &count,
+                                       lp_name_resolve_order());
        if (NT_STATUS_IS_OK(status)) {
-               int i;
+               size_t i;
 
                if (prefer_ipv4) {
                        for (i=0; i<count; i++) {
@@ -3504,7 +3508,7 @@ bool resolve_name(const char *name,
                                ok = sockaddr_storage_to_samba_sockaddr(&sa,
                                                                &ss_list[i].ss);
                                if (!ok) {
-                                       SAFE_FREE(ss_list);
+                                       TALLOC_FREE(ss_list);
                                        TALLOC_FREE(frame);
                                        return false;
                                }
@@ -3512,7 +3516,7 @@ bool resolve_name(const char *name,
                                                !is_broadcast_addr(&sa.u.sa) &&
                                                (sa.u.ss.ss_family == AF_INET)) {
                                        *return_ss = ss_list[i].ss;
-                                       SAFE_FREE(ss_list);
+                                       TALLOC_FREE(ss_list);
                                        TALLOC_FREE(frame);
                                        return True;
                                }
@@ -3527,21 +3531,21 @@ bool resolve_name(const char *name,
                        ok = sockaddr_storage_to_samba_sockaddr(&sa,
                                                                &ss_list[i].ss);
                        if (!ok) {
-                               SAFE_FREE(ss_list);
+                               TALLOC_FREE(ss_list);
                                TALLOC_FREE(frame);
                                return false;
                        }
                        if (!is_zero_addr(&sa.u.ss) &&
                                        !is_broadcast_addr(&sa.u.sa)) {
                                *return_ss = ss_list[i].ss;
-                               SAFE_FREE(ss_list);
+                               TALLOC_FREE(ss_list);
                                TALLOC_FREE(frame);
                                return True;
                        }
                }
        }
 
-       SAFE_FREE(ss_list);
+       TALLOC_FREE(ss_list);
        TALLOC_FREE(frame);
        return False;
 }