... and a Clang warning.
The warning was:
./print-tcp.c:402:120: warning: address of array
'ip6->ip6_ctlun.ip6_un1.ip6_un1_plen' will always evaluate to 'true'
[-Wpointer-bool-conversion]
...& 0xf0) >> 4) == 6 && ip6->ip6_ctlun.ip6_un1.ip6_un1_plen) {
~~ ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
else
ND_PRINT(" (correct)");
}
- } else if (IP_V(ip) == 6 && ip6->ip6_plen) {
+ } else if (IP_V(ip) == 6 && GET_BE_U_2(ip6->ip6_plen)) {
if (ND_TTEST_LEN(tp->th_sport, length)) {
sum = tcp6_cksum(ndo, ip6, tp, length);
tcp_sum = GET_BE_U_2(tp->th_sum);