]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Undefined behavior fix
authorMaria Matejka <mq@ucw.cz>
Thu, 22 Feb 2024 11:00:05 +0000 (12:00 +0100)
committerMaria Matejka <mq@ucw.cz>
Wed, 3 Apr 2024 11:58:41 +0000 (13:58 +0200)
nest/rt-dev.c

index c728b5f333b39f87b7f86c1b0306d2ce5a8bb426..8a8d6d6def5e181bb7e30ae965280b02d22617c0 100644 (file)
@@ -83,12 +83,11 @@ dev_ifa_notify(struct proto *P, uint flags, struct ifa *ad)
       ea_list *ea = NULL;
       struct nexthop_adata nhad = {
        .nh = { .iface = ad->iface, },
-       .ad = { .length = (void *) NEXTHOP_NEXT(&nhad.nh) - (void *) nhad.ad.data, },
       };
 
       ea_set_attr_u32(&ea, &ea_gen_preference, 0, c->preference);
       ea_set_attr_u32(&ea, &ea_gen_source, 0, RTS_DEVICE);
-      ea_set_attr_data(&ea, &ea_gen_nexthop, 0, nhad.ad.data, nhad.ad.length);
+      ea_set_attr_data(&ea, &ea_gen_nexthop, 0, nhad.ad.data, (void *) NEXTHOP_NEXT(&nhad.nh) - (void *) nhad.ad.data);
 
       rte e0 = {
        .attrs = ea,