Avoid triggering undefined behaviour in base_uint<BITS>::bits()

This commit is contained in:
practicalswift 2018-10-18 11:17:05 +02:00
parent 9c5f0d542d
commit 96f6dc9fc5

View File

@ -176,7 +176,7 @@ unsigned int base_uint<BITS>::bits() const
for (int pos = WIDTH - 1; pos >= 0; pos--) {
if (pn[pos]) {
for (int nbits = 31; nbits > 0; nbits--) {
if (pn[pos] & 1 << nbits)
if (pn[pos] & 1U << nbits)
return 32 * pos + nbits + 1;
}
return 32 * pos + 1;