summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas@opensourcerouting.org>2023-11-01 10:29:07 +0200
committerDonatas Abraitis <donatas@opensourcerouting.org>2023-11-02 13:25:43 +0200
commit42045aac7b44d74229ba8f3e492acb404cc93320 (patch)
tree5362c84b9af82be408653043878144dcbcf28e1e
parent298975b5741340d4ce9fd6bbc09898531272d53d (diff)
bgpd: Fix UNINTENDED_INTEGER_DIVISION for bgp_lp_event_zebra_up()
CID 1570864. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
-rw-r--r--bgpd/bgp_labelpool.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/bgpd/bgp_labelpool.c b/bgpd/bgp_labelpool.c
index b2bb49b943..bf2b3566b4 100644
--- a/bgpd/bgp_labelpool.c
+++ b/bgpd/bgp_labelpool.c
@@ -652,11 +652,7 @@ void bgp_lp_event_zebra_up(void)
}
/* round up */
- if (((float)labels_needed / (float)lp->next_chunksize) >
- (labels_needed / lp->next_chunksize))
- chunks_needed = (labels_needed / lp->next_chunksize) + 1;
- else
- chunks_needed = (labels_needed / lp->next_chunksize);
+ chunks_needed = (labels_needed + lp->next_chunksize - 1) / lp->next_chunksize;
labels_needed = chunks_needed * lp->next_chunksize;
/*