From 683b59bba067ee86be90e1eb82d0bc4a77bcf369 Mon Sep 17 00:00:00 2001 From: Maria Matejka Date: Thu, 22 Feb 2024 11:38:13 +0100 Subject: [PATCH] CLang compilation fix --- nest/rt-table.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/nest/rt-table.c b/nest/rt-table.c index 79f74d24..baa1f04a 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -3342,17 +3342,18 @@ ea_set_hostentry(ea_list **to, rtable *dep, rtable *src, ip_addr gw, ip_addr ll, { struct { struct hostentry_adata head; - u32 label_space[lnum]; - } h; - - memset(&h, 0, sizeof h); + u32 label_space[]; + } *h; + u32 sz = sizeof *h + lnum * sizeof(u32); + h = alloca(sz); + memset(h, 0, sz); RT_LOCKED(src, tab) - h.head.he = rt_get_hostentry(tab, gw, ll, dep); + h->head.he = rt_get_hostentry(tab, gw, ll, dep); - memcpy(h.head.labels, labels, lnum * sizeof(u32)); + memcpy(h->head.labels, labels, lnum * sizeof(u32)); - ea_set_attr_data(to, &ea_gen_hostentry, 0, h.head.ad.data, (byte *) &h.head.labels[lnum] - h.head.ad.data); + ea_set_attr_data(to, &ea_gen_hostentry, 0, h->head.ad.data, (byte *) &h->head.labels[lnum] - h->head.ad.data); }