On Sat, Jun 22, 2013 at 02:32:04 +0100, Roy Marples wrote: > >/build/netbsd-local/src/external/bsd/dhcpcd/dist/dhcp6.c:641:11: > >error: operation on 'o->len' may be undefined > > The code in question: > > o = D6_NEXT_OPTION(o); > o->code = htons(D6_OPTION_ORO); > o->len = 0;
No, the code in question is:
o->len = htons(++o->len);
and since on big-endian hton* is a no-op it becomes
o->len = ++o->len;
which violates C sequence point rules.
-uwe
