selftests: net: reuseport_dualstack: fix uninitalized parameter

This test reports EINVAL for getsockopt(SOL_SOCKET, SO_DOMAIN)
occasionally due to the uninitialized length parameter.
Initialize it to fix this, and also use int for "test_family" to comply
with the API standard.

Fixes: d6a61f80b8 ("soreuseport: test mixed v4/v6 sockets")
Reported-by: Maciej Żenczykowski <maze@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Wei Wang <weiwan@google.com>
Cc: Craig Gallek <cgallek@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Wei Wang 2019-10-31 16:24:36 -07:00 committed by David S. Miller
parent 62bdc8fd1c
commit d64479a3e3

View File

@ -129,7 +129,7 @@ static void test(int *rcv_fds, int count, int proto)
{ {
struct epoll_event ev; struct epoll_event ev;
int epfd, i, test_fd; int epfd, i, test_fd;
uint16_t test_family; int test_family;
socklen_t len; socklen_t len;
epfd = epoll_create(1); epfd = epoll_create(1);
@ -146,6 +146,7 @@ static void test(int *rcv_fds, int count, int proto)
send_from_v4(proto); send_from_v4(proto);
test_fd = receive_once(epfd, proto); test_fd = receive_once(epfd, proto);
len = sizeof(test_family);
if (getsockopt(test_fd, SOL_SOCKET, SO_DOMAIN, &test_family, &len)) if (getsockopt(test_fd, SOL_SOCKET, SO_DOMAIN, &test_family, &len))
error(1, errno, "failed to read socket domain"); error(1, errno, "failed to read socket domain");
if (test_family != AF_INET) if (test_family != AF_INET)