diff --git a/src/link/patch.c b/src/link/patch.c index 91d9ef5d..d9f56cea 100644 --- a/src/link/patch.c +++ b/src/link/patch.c @@ -185,7 +185,13 @@ static int32_t computeRPNExpr(struct Patch const *patch, break; case RPN_MOD: value = popRPN(); - value = popRPN() % value; + if (value == 0) { + error("%s: Modulo by 0", patch->fileName); + popRPN(); + value = 0; + } else { + value = popRPN() % value; + } break; case RPN_UNSUB: value = -popRPN();