From: Petr Štetiar Date: Fri, 2 Oct 2020 12:52:19 +0000 (+0200) Subject: uci: silence UBSAN error by using offsetof macro from compiler X-Git-Url: http://git.openwrt.org/?p=project%2Fuci.git;a=commitdiff_plain;h=671c7554bfdeab758f605d1e1a2420117e96a628 uci: silence UBSAN error by using offsetof macro from compiler Fixes following ubdefined-behavior as reported by clang version 10.0.0-4ubuntu1~18.04.2: delta.c:139:52: runtime error: member access within null pointer of type 'struct uci_element' SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior delta.c:139:52 Signed-off-by: Petr Štetiar --- diff --git a/uci.h b/uci.h index 43f2052..b385e2b 100644 --- a/uci.h +++ b/uci.h @@ -34,6 +34,7 @@ extern "C" { #include #include #include +#include #define UCI_CONFDIR "/etc/config" #define UCI_SAVEDIR "/tmp/.uci" @@ -509,11 +510,6 @@ struct uci_parse_option { }; -/* linked list handling */ -#ifndef offsetof -#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) -#endif - /** * container_of - cast a member of a structure out to the containing structure * @ptr: the pointer to the member.