X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2Fsparse_vec.h;h=54a92ce7a84e8995577e54b2c7eb3ede25720274;hb=0765d97abef74727c040d2eaf9112865d59f1593;hp=cfa5778e290030244b2e398a1ee3268447cc1f82;hpb=1105600416e0560cb05120a22e0a2e7359a13665;p=vpp.git diff --git a/src/vppinfra/sparse_vec.h b/src/vppinfra/sparse_vec.h index cfa5778e290..54a92ce7a84 100644 --- a/src/vppinfra/sparse_vec.h +++ b/src/vppinfra/sparse_vec.h @@ -115,6 +115,10 @@ sparse_vec_index_internal (void *v, w = h->is_member_bitmap[i]; + /* count_trailing_zeros(0) == 0, take care of that case */ + if (PREDICT_FALSE (maybe_range == 0 && insert == 0 && w == 0)) + return 0; + if (PREDICT_TRUE (maybe_range == 0 && insert == 0 && count_trailing_zeros (w) == b)) return h->member_counts[i] + 1;