s3: libsmb: discover_dc_netbios(). Remember to free on error return.
authorJeremy Allison <jra@samba.org>
Wed, 26 Aug 2020 20:45:43 +0000 (13:45 -0700)
committerNoel Power <npower@samba.org>
Mon, 7 Sep 2020 13:23:39 +0000 (13:23 +0000)
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Noel Power <npower@samba.org>
source3/libsmb/dsgetdcname.c

index 128004a0f6a885eaf7338654348a4720593fbbc3..9d7d430c92139ed359126bfb2699ad74ce4e9f6b 100644 (file)
@@ -443,7 +443,7 @@ static NTSTATUS discover_dc_netbios(TALLOC_CTX *mem_ctx,
 {
        NTSTATUS status;
        enum nbt_name_type name_type = NBT_NAME_LOGON;
-       struct ip_service *iplist;
+       struct ip_service *iplist = NULL;
        int i;
        struct ip_service_name *dclist = NULL;
        int count;
@@ -481,11 +481,13 @@ static NTSTATUS discover_dc_netbios(TALLOC_CTX *mem_ctx,
                ok = sockaddr_storage_to_samba_sockaddr(&r->sa, &iplist[i].ss);
                if (!ok) {
                        SAFE_FREE(iplist);
+                       TALLOC_FREE(dclist);
                        return NT_STATUS_INVALID_PARAMETER;
                }
                r->hostname = talloc_strdup(mem_ctx, addr);
                if (!r->hostname) {
                        SAFE_FREE(iplist);
+                       TALLOC_FREE(dclist);
                        return NT_STATUS_NO_MEMORY;
                }