mirror of
https://gitlab.isc.org/isc-projects/bind9.git
synced 2025-12-05 18:57:04 -06:00
Make all non-scalar properties of `cfg_obj_t` allocated values, which ensures the union size is the width of one pointer. Also reorder the fields inside `cfg_obj_t` to avoid alignment padding that would increase the size. As a result, a `cfg_obj_t` instance is now 48 bytes on a 64-bit platform. Add a static assertion to avoid increasing the size of the struct by mistake. The function `parse_sockaddrsub` was taking advantage of the fact that both sockaddr and sockaddrtls were in the same position, and used to initialize the sockaddr field independently if this was a -tls one or not. This doesn't work anymore now that all fields are allocated, so it has been slightly rewritten to take both cases into account separately.