[PATCH] remove null dereference from netlink/link.h

Nick Lewycky nlewycky at google.com
Thu Jan 28 19:49:31 PST 2016


Replace a null pointer dereference with a use of the 'offsetof' macro in stddef.h.

Signed-off-by: Nick Lewycky <nlewycky at google.com>
---
 include/netlink/list.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/netlink/list.h b/include/netlink/list.h
index 28712ed..fcfb826 100644
--- a/include/netlink/list.h
+++ b/include/netlink/list.h
@@ -12,6 +12,8 @@
 #ifndef NETLINK_LIST_H_
 #define NETLINK_LIST_H_
 
+#include <stddef.h>
+
 struct nl_list_head
 {
 	struct nl_list_head *	next;
@@ -59,7 +61,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)
-- 
2.7.0.rc3.207.g0ac5344




More information about the libnl mailing list