s3/libads: ensure a sockaddr variable is correctly zero initialized
authorRalph Boehme <slow@samba.org>
Fri, 28 Jan 2022 16:51:10 +0000 (17:51 +0100)
committerJeremy Allison <jra@samba.org>
Tue, 8 Feb 2022 20:24:12 +0000 (20:24 +0000)
is_zero_addr() doesn't work with addresses that have been zero-initialized.

This fixes the logic added in c863cc2ba34025731a18ac735f714b5b888504da.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14674
MR: https://gitlab.com/samba-team/samba/-/merge_requests/2354

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Tue Feb  8 20:24:12 UTC 2022 on sn-devel-184

source3/libads/ldap.c

index 28f396f0fe4a68cc07342ced8e36fbfbf99c9ee5..647cdbd0459637cf659f2c865e83ce4e7de85bda 100755 (executable)
@@ -605,7 +605,9 @@ ADS_STATUS ads_connect(ADS_STRUCT *ads)
        ADS_STATUS status;
        NTSTATUS ntstatus;
        char addr[INET6_ADDRSTRLEN];
-       struct sockaddr_storage existing_ss = {0};
+       struct sockaddr_storage existing_ss;
+
+       zero_sockaddr(&existing_ss);
 
        /*
         * ads_connect can be passed in a reused ADS_STRUCT