diff mbox

arping: Fix find_device_by_ifaddrs()

Message ID 1353574275-21742-1-git-send-email-jsynacek@redhat.com
State Not Applicable, archived
Delegated to: David Miller
Headers show

Commit Message

Jan Synacek Nov. 22, 2012, 8:51 a.m. UTC
Look for another device if the device name and the currently found one are the
same, not different.

Also, make checking for the device's flags nonfatal.

Signed-off-by: Jan Synacek <jsynacek@redhat.com>
---
 arping.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Jan Synacek Nov. 26, 2012, 9:26 a.m. UTC | #1
On 11/22/2012 09:51 AM, Jan Synacek wrote:
> Look for another device if the device name and the currently found one are the
> same, not different.
> 
> Also, make checking for the device's flags nonfatal.
> 
> Signed-off-by: Jan Synacek <jsynacek@redhat.com>
> ---
>  arping.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arping.c b/arping.c
> index ff77bec..d0edccf 100644
> --- a/arping.c
> +++ b/arping.c
> @@ -550,10 +550,10 @@ static int find_device_by_ifaddrs(void)
>  			continue;
>  		if (ifa->ifa_addr->sa_family != AF_PACKET)
>  			continue;
> -		if (device.name && ifa->ifa_name && strcmp(ifa->ifa_name, device.name))
> +		if (device.name && ifa->ifa_name && !strcmp(ifa->ifa_name, device.name))
>  			continue;
>  
> -		if (check_ifflags(ifa->ifa_flags, device.name != NULL) < 0)
> +		if (check_ifflags(ifa->ifa_flags, 0) < 0)
>  			continue;
>  
>  		if (!((struct sockaddr_ll *)ifa->ifa_addr)->sll_halen)
> 

Please, disregard this patch. I found a problem with it and will send a proper
patch soon.

Cheers,
diff mbox

Patch

diff --git a/arping.c b/arping.c
index ff77bec..d0edccf 100644
--- a/arping.c
+++ b/arping.c
@@ -550,10 +550,10 @@  static int find_device_by_ifaddrs(void)
 			continue;
 		if (ifa->ifa_addr->sa_family != AF_PACKET)
 			continue;
-		if (device.name && ifa->ifa_name && strcmp(ifa->ifa_name, device.name))
+		if (device.name && ifa->ifa_name && !strcmp(ifa->ifa_name, device.name))
 			continue;
 
-		if (check_ifflags(ifa->ifa_flags, device.name != NULL) < 0)
+		if (check_ifflags(ifa->ifa_flags, 0) < 0)
 			continue;
 
 		if (!((struct sockaddr_ll *)ifa->ifa_addr)->sll_halen)