diff options
author | Petr Štetiar <ynezz@true.cz> | 2020-10-02 14:52:19 +0200 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2020-10-03 09:46:18 +0200 |
commit | 671c7554bfdeab758f605d1e1a2420117e96a628 (patch) | |
tree | 4ac2b2da8733c08cb061b4b60cc36ad43fb36b92 | |
parent | ea5bbd57d0e1f3ff5fd3b8580741c46093caa845 (diff) | |
download | uci-671c7554bfdeab758f605d1e1a2420117e96a628.tar.gz |
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 <ynezz@true.cz>
-rw-r--r-- | uci.h | 6 |
1 files changed, 1 insertions, 5 deletions
@@ -34,6 +34,7 @@ extern "C" { #include <setjmp.h> #include <stdio.h> #include <stdint.h> +#include <stddef.h> #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. |