[Dnsmasq-discuss] dnsmasq-2.81rc2 finding on FreeBSD

Matthias Andree matthias.andree at gmx.de
Fri Mar 6 01:50:57 GMT 2020


Simon Kelley wrote, in response to my earlier mail about 2.81rc1:

> So I guess this should be
>> /* ... */ && IN6_ARE_ADDR_EQUAL(&config->addr6->addr.addr6, &addr))   //
>> at least, this compiles
>>
> This turned out to be a rather larger can-of-worms, and the fix somewhat
> bigger. It's unexpected fallout from the multiple IPv6 addresses in
> dhcp-host changes.
>
> http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=c125c1dfeee7ad11bf4a64fd8427617a3861d759

I believe this isn't correct and needs & instead of &&, clang warns on
FreeBSD.
Again, only compile-time tested for lack of time.

> cc -O2 -pipe  -Wall -Wno-unused-value -Wno-unused-parameter
> -Wno-unused-variable -Wno-unused-function -DHAVE_LIBIDN2 -DHAVE_DBUS
> -DHAVE_LUASCRIPT -DHAVE_DNSSEC -I/usr/local/include -DLIBICONV_PLUG
> -fstack-protector-strong -fno-strict-aliasing  -O2 -pipe  -Wall
> -Wno-unused-value -Wno-unused-parameter -Wno-unused-variable
> -Wno-unused-function -DHAVE_LIBIDN2 -DHAVE_DBUS -DHAVE_LUASCRIPT
> -DHAVE_DNSSEC -I/usr/local/include -DLIBICONV_PLUG
> -fstack-protector-strong -fno-strict-aliasing 
> -DLOCALEDIR='"/usr/local/share/locale"' -DVERSION='"2.81rc2"'
> -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include  
> -I/usr/local/include       -I/usr/local/include  -I/usr/local/include
> -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include 
> -I/usr/local/include/lua52 -DLIBICONV_PLUG -c metrics.c    
> rfc3315.c:1711:28: warning: use of logical '&&' with constant operand
> [-Wconstant-logical-operand]
>     if (!(addr_list->flags && ADDRLIST_DECLINED) ||
>                            ^  ~~~~~~~~~~~~~~~~~
> rfc3315.c:1711:28: note: use '&' for a bitwise operation
>     if (!(addr_list->flags && ADDRLIST_DECLINED) ||
>                            ^~
>                            &
> rfc3315.c:1711:28: note: remove constant to silence this warning
>     if (!(addr_list->flags && ADDRLIST_DECLINED) ||
>                           ~^~~~~~~~~~~~~~~~~~~~
> 1 warning generated.




More information about the Dnsmasq-discuss mailing list