Fix some undefined behaviour: signed overflow and over shift left.
Caught by UndefinedBehaviourSanitizer.
This commit is contained in:
@@ -58,7 +58,7 @@ int GreatestCommonDivisor(int a, int b)
|
||||
*/
|
||||
int DivideApprox(int a, int b)
|
||||
{
|
||||
int random_like = ((a + b) * (a - b)) % b;
|
||||
int random_like = (((int64) (a + b)) * ((int64) (a - b))) % b;
|
||||
|
||||
int remainder = a % b;
|
||||
|
||||
|
Reference in New Issue
Block a user