Add assertion indicating valid range of rank_in_mask's bit param

Coverity CID 141632
This commit is contained in:
Alex Coyte 2016-08-11 13:04:26 +10:00 committed by Matthew Barr
parent f06f5d0702
commit 147f9655b6

View File

@ -83,6 +83,8 @@ void dumpMask(FILE *f, const char *name, const u8 *mask, u32 mask_bits) {
template<typename mask_t> template<typename mask_t>
static static
u32 rank_in_mask(mask_t mask, u32 bit) { u32 rank_in_mask(mask_t mask, u32 bit) {
assert(bit < 8 * sizeof(mask));
u32 chunks[sizeof(mask)/sizeof(u32)]; u32 chunks[sizeof(mask)/sizeof(u32)];
memcpy(chunks, &mask, sizeof(mask)); memcpy(chunks, &mask, sizeof(mask));
u32 base_rank = 0; u32 base_rank = 0;