]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: fix allocating uninitialized bgp_labels
authorLouis Scalbert <louis.scalbert@6wind.com>
Tue, 22 Oct 2024 13:07:26 +0000 (15:07 +0200)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Thu, 24 Oct 2024 14:37:11 +0000 (14:37 +0000)
Memory was not zeroed at allocation.

> ==2604268== Conditional jump or move depends on uninitialised value(s)
> ==2604268==    at 0x26F026: bgp_labels_unintern (bgp_label.c:116)
> ==2604268==    by 0x30000C: adj_free (bgp_updgrp_adv.c:81)
> ==2604268==    by 0x3019EE: bgp_adj_out_remove_subgroup (bgp_updgrp_adv.c:728)
> ==2604268==    by 0x30537C: subgroup_withdraw_packet (bgp_updgrp_packet.c:1042)
> ==2604268==    by 0x2970AF: bgp_generate_updgrp_packets (bgp_packet.c:508)
> ==2604268==    by 0x49E06F1: event_call (event.c:2001)
> ==2604268==    by 0x495AB8B: frr_run (libfrr.c:1238)
> ==2604268==    by 0x200C4B: main (bgp_main.c:555)

Fixes: 3c86f776f0 ("bgpd: add bgp_labels hash")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
(cherry picked from commit dd10379b3e4c544874306fbb5efec5afc1cf1f9e)

bgpd/bgp_label.c

index af10111600ccee1c6e18e6d9a2b5bb150703de14..5db36217387887502b8ba971a27921dc0fcc2286 100644 (file)
@@ -38,7 +38,7 @@ static void *bgp_labels_hash_alloc(void *p)
        struct bgp_labels *new;
        uint8_t i;
 
-       new = XMALLOC(MTYPE_BGP_LABELS, sizeof(struct bgp_labels));
+       new = XCALLOC(MTYPE_BGP_LABELS, sizeof(struct bgp_labels));
 
        new->num_labels = labels->num_labels;
        for (i = 0; i < labels->num_labels; i++)