libads: Fix CID 1349423 Resource leak
authorVolker Lendecke <vl@samba.org>
Wed, 28 Mar 2018 12:27:08 +0000 (07:27 -0500)
committerJeremy Allison <jra@samba.org>
Thu, 29 Mar 2018 01:45:00 +0000 (03:45 +0200)
get_sorted_dc_list should already take care, but this way it's safer

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Mar 29 03:45:00 CEST 2018 on sn-devel-144

source3/libads/ldap.c

index 70166f2f5941f809ef45c7babb8fbc2059fca989..f9463043cc8f2deb53e71bee0dbdf93b39758043 100644 (file)
@@ -412,7 +412,7 @@ static NTSTATUS resolve_and_ping_dns(ADS_STRUCT *ads, const char *sitename,
                                     const char *realm)
 {
        int count;
-       struct ip_service *ip_list;
+       struct ip_service *ip_list = NULL;
        NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
 
        DEBUG(6, ("resolve_and_ping_dns: (cldap) looking for realm '%s'\n",
@@ -421,6 +421,7 @@ static NTSTATUS resolve_and_ping_dns(ADS_STRUCT *ads, const char *sitename,
        status = get_sorted_dc_list(realm, sitename, &ip_list, &count,
                                    true);
        if (!NT_STATUS_IS_OK(status)) {
+               SAFE_FREE(ip_list);
                return status;
        }