From f6ceefdb1ee06f092f30ee4d0c04e57cda67c5da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Tue, 29 Oct 2019 06:40:57 +0100 Subject: use offsetof macro to make scan-build happy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit scan-build from clang version 9 complains about following: cache.c:106:2: warning: Dereference of null pointer nl_list_for_each_entry_safe(obj, tmp, &cache->c_items, ce_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/netlink/list.h:83:20: note: expanded from macro 'nl_list_for_each_entry_safe' pos = n, n = nl_list_entry(n->member.next, typeof(*n), member)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/netlink/list.h:60:2: note: expanded from macro 'nl_list_entry' nl_container_of(ptr, type, member) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/netlink/list.h:56:55: note: expanded from macro 'nl_container_of' const typeof( ((type *)0)->member ) *__mptr = (ptr); \ ^~~~~ Signed-off-by: Petr Štetiar --- include/netlink/list.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/netlink/list.h b/include/netlink/list.h index c6876a7..6eae216 100644 --- a/include/netlink/list.h +++ b/include/netlink/list.h @@ -12,6 +12,8 @@ #ifndef NETLINK_LIST_H_ #define NETLINK_LIST_H_ +#include + struct nl_list_head { struct nl_list_head * next; @@ -54,7 +56,7 @@ static inline int nl_list_empty(struct nl_list_head *head) #define nl_container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ - (type *)( (char *)__mptr - ((size_t) &((type *)0)->member));}) + (type *) ((char *) __mptr - (offsetof(type, member)));}) #define nl_list_entry(ptr, type, member) \ nl_container_of(ptr, type, member) -- cgit v1.2.1