summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2022-03-31 10:57:25 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2022-04-29 17:26:17 +0200
commitcea335c454fed307903835eb78b2bb715e0ce377 (patch)
treec86b7ccc3038fcd6f5a33414cceaf208630f9e9a
parentebfbba550343a24b9e7b73051b0515c7fe637881 (diff)
downloadNetworkManager-cea335c454fed307903835eb78b2bb715e0ce377.tar.gz
platform: fix undefined behavior for pointer comparison in ip4_addr_subnets_is_plain_address()
Fixes: 2f68a5004153 ('platform: fix the order of addition of primary and secondary IPv4 addresses') (cherry picked from commit 40f22e69c8c03fbbe40f3ba701c3540470f49dfe) (cherry picked from commit 41b56cb2b9397407d24e00f95ba4ffb009212040)
-rw-r--r--src/libnm-platform/nm-platform.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libnm-platform/nm-platform.c b/src/libnm-platform/nm-platform.c
index 97a86d8061..a61c8ae823 100644
--- a/src/libnm-platform/nm-platform.c
+++ b/src/libnm-platform/nm-platform.c
@@ -3698,8 +3698,8 @@ clear_and_next:
static gboolean
ip4_addr_subnets_is_plain_address(const GPtrArray *addresses, gconstpointer needle)
{
- return needle >= (gconstpointer) &addresses->pdata[0]
- && needle < (gconstpointer) &addresses->pdata[addresses->len];
+ return nm_ptr_to_uintptr(needle) >= nm_ptr_to_uintptr(&addresses->pdata[0])
+ && nm_ptr_to_uintptr(needle) < nm_ptr_to_uintptr(&addresses->pdata[addresses->len]);
}
static const NMPObject **