From: Renato Westphal Date: Tue, 12 Sep 2017 12:46:31 +0000 (-0300) Subject: ldpd: fix broken label allocation X-Git-Tag: frr-4.0-dev~316^2~1 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=2a178cdd7c503a631285fea779199d5e8e3bfbe7;p=mirror%2Ffrr.git ldpd: fix broken label allocation Once ldpd allocated label 48 for a given FEC, all subsequent requests for a new label would return the same value (48). The problem is that we were left shifting an uint32_t value up to 64 times, losing important information. Signed-off-by: Renato Westphal --- diff --git a/ldpd/lde.c b/ldpd/lde.c index 4460b424d2..3f84454b39 100644 --- a/ldpd/lde.c +++ b/ldpd/lde.c @@ -1693,7 +1693,8 @@ static uint32_t lde_get_next_label(void) { struct label_chunk *label_chunk; - uint32_t i, pos, size; + uint32_t i, size; + uint64_t pos; uint32_t label = NO_LABEL; while (current_label_chunk) {