diff options
Diffstat (limited to 'vppinfra')
-rw-r--r-- | vppinfra/vppinfra/bitmap.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/vppinfra/vppinfra/bitmap.h b/vppinfra/vppinfra/bitmap.h index a89aa399e2f..35de1b4819f 100644 --- a/vppinfra/vppinfra/bitmap.h +++ b/vppinfra/vppinfra/bitmap.h @@ -347,14 +347,14 @@ always_inline uword clib_bitmap_last_set (uword * ai) { uword i; - for (i = vec_len (ai) - 1; i >= 0 ; i--) + for (i = vec_len (ai); i > 0 ; i--) { - uword x = ai[i]; + uword x = ai[i - 1]; if (x != 0) { uword first_bit; count_leading_zeros (first_bit, x); - return (i + 1) * BITS (ai[0]) - first_bit - 1; + return (i) * BITS (ai[0]) - first_bit - 1; } } return ~0; |