From 9fb98e3e056f059e2a5fcdd54a6a0d60ecdb01b7 Mon Sep 17 00:00:00 2001 From: Anoop C S Date: Thu, 11 Feb 2016 14:55:55 +0530 Subject: lib/socket: Fix improper use of default interface speed _get_interfaces() function from interfaces.c uses if_speed variable to store interface speed and is initialized with a default value at start. But if_speed populated via one iteration for a specific IP address will be treated as the default value for next iteration which is wrong. Therefore change is to move the initialization cum declaration of if_speed inside iteration of IP addresses loop. BUG: https://bugzilla.samba.org/show_bug.cgi?id=11734 Signed-off-by: Anoop C S Reviewed-by: Michael Adam Reviewed-by: Stefan Metzmacher Autobuild-User(master): Michael Adam Autobuild-Date(master): Sat Feb 13 16:22:22 CET 2016 on sn-devel-144 --- lib/socket/interfaces.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/socket') diff --git a/lib/socket/interfaces.c b/lib/socket/interfaces.c index 847fa6255ba..2cabf46316b 100644 --- a/lib/socket/interfaces.c +++ b/lib/socket/interfaces.c @@ -189,7 +189,6 @@ static int _get_interfaces(TALLOC_CTX *mem_ctx, struct iface_struct **pifaces) int count; int total = 0; size_t copy_size; - uint64_t if_speed = 1000 * 1000 * 1000; /* 1GBit */ if (getifaddrs(&iflist) < 0) { return -1; @@ -214,6 +213,7 @@ static int _get_interfaces(TALLOC_CTX *mem_ctx, struct iface_struct **pifaces) /* Loop through interfaces, looking for given IP address */ for (ifptr = iflist; ifptr != NULL; ifptr = ifptr->ifa_next) { + uint64_t if_speed = 1000 * 1000 * 1000; /* 1Gbps */ if (!ifptr->ifa_addr || !ifptr->ifa_netmask) { continue; -- cgit v1.2.1