On Thu, Jan 05, 2023 at 11:03:04AM +0100, Claudio Jeker wrote:
> gcc4 does not really support C99 initalizers. It works most of the time
> but fails for more complex structs. Just fall back to memset() here.
deraadt used { {0} } in kr_send_dependon(). Apparently that works.
I really don't understand why we can't use a 24 years old standard.
>
> --
> :wq Claudio
>
> Index: kroute.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/kroute.c,v
> retrieving revision 1.303
> diff -u -p -r1.303 kroute.c
> --- kroute.c 28 Dec 2022 21:30:16 -0000 1.303
> +++ kroute.c 5 Jan 2023 09:55:39 -0000
> @@ -2159,10 +2159,12 @@ kroute6_validate(struct kroute6 *kr)
> int
> knexthop_true_nexthop(struct ktable *kt, struct kroute_full *kf)
> {
> - struct bgpd_addr gateway = { 0 };
> + struct bgpd_addr gateway;
> struct knexthop *kn;
> struct kroute *kr;
> struct kroute6 *kr6;
> +
> + memset(&gateway, 0, sizeof(gateway));
>
> /*
> * Ignore the nexthop for VPN routes. The gateway is forced
>