util_sock: fix assignment of sa_socklen
authorBjoern Jacke <bj@sernet.de>
Tue, 17 Aug 2021 11:39:24 +0000 (11:39 +0000)
committerKarolin Seeger <kseeger@samba.org>
Wed, 1 Sep 2021 09:00:08 +0000 (09:00 +0000)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14800

Autobuild-User(master): Björn Jacke <bjacke@samba.org>
Autobuild-Date(master): Tue Aug 31 09:54:35 UTC 2021 on sn-devel-184

(cherry picked from commit 1209c89dcf6371bbfa4f3929a47a573ef2916c1a)

Autobuild-User(v4-15-test): Karolin Seeger <kseeger@samba.org>
Autobuild-Date(v4-15-test): Wed Sep  1 09:00:08 UTC 2021 on sn-devel-184

source3/lib/util_sock.c

index 2dbb572a974d7c1bf9238c8ac661e8143a9a52cd..85dc3efbe15e5be9404976ff9da7fe6e4b351e08 100644 (file)
@@ -254,6 +254,15 @@ int open_socket_in(
        int val = rebind ? 1 : 0;
        bool ok;
 
+       switch (addr.u.sa.sa_family) {
+       case AF_INET6:
+               addr.sa_socklen = sizeof(struct sockaddr_in6);
+               break;
+       case AF_INET:
+               addr.sa_socklen = sizeof(struct sockaddr_in);
+               break;
+       }
+
        ok = samba_sockaddr_set_port(&addr, port);
        if (!ok) {
                ret = -EINVAL;