From cea335c454fed307903835eb78b2bb715e0ce377 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 31 Mar 2022 10:57:25 +0200 Subject: [PATCH] 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) --- src/libnm-platform/nm-platform.c | 4 ++-- 1 file 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 **