forked from Mirrorlandia_minetest/minetest
Noise: Prevent unittest crash caused by division by zero
This commit is contained in:
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user