diff --git a/ethermess.c b/ethermess.c index 0656e89..fe305e2 100644 --- a/ethermess.c +++ b/ethermess.c @@ -200,6 +200,9 @@ intmax_t saturating_sub(intmax_t a, intmax_t b) { intmax_t saturating_mul(intmax_t a, intmax_t b) { // Doesn't give 100% right results when one parameter is INTMAX_MIN, // but at least it won't ever overflow + if (a == 0 || b == 0) { + return 0; + } if (a < 0) { return saturating_sub(0, saturating_mul(saturating_sub(0, a), b)); }