virrandom: Avoid undefined behaviour in virRandomBits

If nbits is 64 (or greater) then shifting 1ULL left is undefined.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Michal Privoznik 2018-08-02 09:29:38 +02:00
parent 1c701c47d5
commit 0a5a6f0d01

View File

@ -68,7 +68,9 @@ uint64_t virRandomBits(int nbits)
return 0;
}
if (nbits < 64)
ret &= (1ULL << nbits) - 1;
return ret;
}