Use the DragonFly contrib patch system to correct improper sizeof(pointer)
issues in vendor code.
BIND9:
Allocated memory was not being entirely zerod out in a number of places.
LIBOPIE:
An improper sizeof(pointer) just happened to work out to the same size
as the 4-byte string it was really attempting to size, for 32 bit
architectures. Convert the pointer to an array to fix the problem.
DHCLIENT:
An improper sizeof(pointer) just happened to work out to be the same
size as the u_int32_t it was supposed to be getting the size of, for
32 bit architectures. Fixed.
ICMP handling was calculating the incorrect packet offset due to
a sizeof(ia) that should have been sizeof(*ia).
In addition (unrelated to the original bug report), none of the
patches for common/ were being applied. They are now being applied.
TCPDUMP:
OSPF6 parsing was completely broken, not only using an incorrect
sizeof(pointer), but also misinterpreting the return value from
ospf6_print_lsaprefix() which would result in an infinite loop.
References: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25702
Reported-by: Mark Eklund <meklund@cisco.com>