diff --git a/src/dnsmasq.h b/src/dnsmasq.h index 1007644..83c750d 100644 --- a/src/dnsmasq.h +++ b/src/dnsmasq.h @@ -48,6 +48,12 @@ #define ATTRIBUTE_NORETURN #endif +#if __GNUC__ + 0 >= 8 // clang 20.1.0 does not yet support this +#define ATTRIBUTE_NONSTRING __attribute__ ((nonstring)) +#else +#define ATTRIBUTE_NONSTRING +#endif + /* get these before config.h for IPv6 stuff... */ #include #include diff --git a/src/edns0.c b/src/edns0.c index e867d54..2f03291 100644 --- a/src/edns0.c +++ b/src/edns0.c @@ -494,7 +494,7 @@ int check_source(struct dns_header *header, size_t plen, unsigned char *pseudohe #define UMBRELLA_DEVICESZ sizeof(daemon->umbrella_device) struct umbrella_opt { - u8 magic[4]; + u8 magic[4] ATTRIBUTE_NONSTRING; u8 version; u8 flags; /* We have 4 possible fields since we'll never send both IPv4 and