Noise: Prevent unittest crash caused by division by zero

This commit is contained in:
SmallJoker 2017-07-29 19:01:14 +02:00
parent 070ab6654a
commit 4be7d8b43a

@ -130,7 +130,9 @@ s32 PcgRandom::range(s32 min, s32 max)
if (max < min) if (max < min)
throw PrngException("Invalid range (max < min)"); throw PrngException("Invalid range (max < min)");
u32 bound = max - min + 1; // We have to cast to s64 because otherwise this could overflow,
// and signed overflow is undefined behavior.
u32 bound = (s64)max - (s64)min + 1;
return range(bound) + min; return range(bound) + min;
} }