From: Renato Westphal Date: Tue, 12 Sep 2017 12:46:31 +0000 (-0300) Subject: ldpd: fix broken label allocation X-Git-Tag: frr-3.0-rc2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=2d67d5a2b57ae19a526e267258c71649e5e86d29;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 37d64eaf50..519fcd9d11 100644 --- a/ldpd/lde.c +++ b/ldpd/lde.c @@ -1680,7 +1680,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) {