Fix rtsock sockaddr alignment.

b31fbebeb3 introduced alloc_sockaddr_aligned() which, in fact,
 failed to produce aligned addresses.

Reported by:	Oskar Holmlund <oskar.holmlund at yahoo.com>
MFC after:	immediately
This commit is contained in:
Alexander V. Chernikov 2021-04-27 08:04:19 +00:00
parent bc5ef45aec
commit 25682e6a49

View File

@ -1009,7 +1009,7 @@ save_add_notification(struct rib_cmd_info *rc, void *_cbdata)
static struct sockaddr *
alloc_sockaddr_aligned(struct linear_buffer *lb, int len)
{
len |= (sizeof(uint64_t) - 1);
len = roundup2(len, sizeof(uint64_t));
if (lb->offset + len > lb->size)
return (NULL);
struct sockaddr *sa = (struct sockaddr *)(lb->base + lb->offset);