mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2024-12-22 03:46:50 +01:00
Math: Prevent division by zero in posmod
Fixes #43932. Co-authored-by: David Hoppenbrouwers <david@salt-inc.org> (cherry picked from commit f011d8ca9ca25232fb335eead1c8eeaf5c7f2c54)
This commit is contained in:
parent
e8d3159d6f
commit
f3e1aab267
@ -30,6 +30,7 @@
|
||||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/*************************************************************************/
|
||||
|
||||
#include "core/error_macros.h"
|
||||
#include "core/math/math_defs.h"
|
||||
#include "core/math/random_pcg.h"
|
||||
#include "core/typedefs.h"
|
||||
@ -236,6 +237,7 @@ public:
|
||||
}
|
||||
|
||||
static _ALWAYS_INLINE_ int64_t posmod(int64_t p_x, int64_t p_y) {
|
||||
ERR_FAIL_COND_V_MSG(p_y == 0, 0, "Division by zero in posmod is undefined. Returning 0 as fallback.");
|
||||
int64_t value = p_x % p_y;
|
||||
if (((value < 0) && (p_y > 0)) || ((value > 0) && (p_y < 0))) {
|
||||
value += p_y;
|
||||
|
Loading…
Reference in New Issue
Block a user