+2019-05-16 Florian Weimer <fweimer@redhat.com>
+
+ * resolv/nss_dns/dns-host.c (getanswer_r): Be more explicit about
+ struct in_addr/struct in6_addr alignment.
+
2019-05-16 Florian Weimer <fweimer@redhat.com>
* nis/nss_nis/nis-hosts.c (EXTRA_ARGS, EXTRA_ARGS_DECL): Remove
linebuflen -= nn;
}
- linebuflen -= sizeof (align) - ((u_long) bp % sizeof (align));
- bp += sizeof (align) - ((u_long) bp % sizeof (align));
+ /* Provide sufficient alignment for both address
+ families. */
+ enum { align = 4 };
+ _Static_assert ((align % __alignof__ (struct in_addr)) == 0,
+ "struct in_addr alignment");
+ _Static_assert ((align % __alignof__ (struct in6_addr)) == 0,
+ "struct in6_addr alignment");
+ linebuflen -= align - ((u_long) bp % align);
+ bp += align - ((u_long) bp % align);
if (__glibc_unlikely (n > linebuflen))
goto too_small;