From 43cfbc3e8418ad6a05b8dafc9fdbeaa0ca7e7775 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 8 Sep 2016 18:39:15 +0200 Subject: [PATCH] netcalc: Fix comparing IP addresses Those are stored in big endian Signed-off-by: Michael Tremer --- src/inetcalc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/inetcalc.c b/src/inetcalc.c index 8af50625..ad256c50 100644 --- a/src/inetcalc.c +++ b/src/inetcalc.c @@ -193,8 +193,10 @@ static int ip_address_gt(const ip_address_t* a1, const ip_address_t* a2) { if (a1->family != a2->family || a1->prefix != a2->prefix) return -1; - if (a1->addr.s6_addr > a2->addr.s6_addr) - return 0; + for (unsigned int i = 0; i < 4; i++) { + if (a1->addr.s6_addr[i] > a2->addr.s6_addr[i]) + return 0; + } return 1; } -- 2.47.2