From 0654ae493e5537323181a2ac9097e5a5ae8c079d Mon Sep 17 00:00:00 2001 From: viktorking7 <140458814+viktorking7@users.noreply.github.com> Date: Tue, 23 Sep 2025 13:52:08 +0200 Subject: [PATCH 1/3] Update StdMath.sol --- src/StdMath.sol | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/StdMath.sol b/src/StdMath.sol index 459523bda..d129b5b44 100644 --- a/src/StdMath.sol +++ b/src/StdMath.sol @@ -29,6 +29,8 @@ library stdMath { } function percentDelta(uint256 a, uint256 b) internal pure returns (uint256) { + // Prevent division by zero + require(b != 0, "stdMath: percentDelta divisor is zero"); uint256 absDelta = delta(a, b); return absDelta * 1e18 / b; @@ -37,6 +39,8 @@ library stdMath { function percentDelta(int256 a, int256 b) internal pure returns (uint256) { uint256 absDelta = delta(a, b); uint256 absB = abs(b); + // Prevent division by zero + require(absB != 0, "stdMath: percentDelta divisor is zero"); return absDelta * 1e18 / absB; } From f29fa1982c9cb898bc54d406e286cbee93c38c1c Mon Sep 17 00:00:00 2001 From: zerosnacks <95942363+zerosnacks@users.noreply.github.com> Date: Mon, 6 Oct 2025 12:39:57 +0200 Subject: [PATCH 2/3] Apply suggestions from code review --- src/StdMath.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/StdMath.sol b/src/StdMath.sol index d129b5b44..0fe610663 100644 --- a/src/StdMath.sol +++ b/src/StdMath.sol @@ -30,7 +30,7 @@ library stdMath { function percentDelta(uint256 a, uint256 b) internal pure returns (uint256) { // Prevent division by zero - require(b != 0, "stdMath: percentDelta divisor is zero"); + require(b != 0, "stdMath percentDelta(uint256,uint256): Divisor is zero"); uint256 absDelta = delta(a, b); return absDelta * 1e18 / b; @@ -40,7 +40,7 @@ library stdMath { uint256 absDelta = delta(a, b); uint256 absB = abs(b); // Prevent division by zero - require(absB != 0, "stdMath: percentDelta divisor is zero"); + require(absB != 0, "stdMath percentDelta(int256,int256): Divisor is zero"); return absDelta * 1e18 / absB; } From 494ec844c56c918e67d3018e9108b3ea465449ef Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Mon, 6 Oct 2025 12:45:48 +0200 Subject: [PATCH 3/3] fix test --- test/StdMath.t.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/StdMath.t.sol b/test/StdMath.t.sol index d1269a02a..0198378f9 100644 --- a/test/StdMath.t.sol +++ b/test/StdMath.t.sol @@ -125,7 +125,7 @@ contract StdMathTest is Test { assertEq(stdMath.percentDelta(5000, uint256(2500)), 1e18); assertEq(stdMath.percentDelta(7500, uint256(2500)), 2e18); - vm.expectRevert(stdError.divisionError); + vm.expectRevert("stdMath percentDelta(uint256,uint256): Divisor is zero"); stdMathMock.exposed_percentDelta(uint256(1), 0); } @@ -163,7 +163,7 @@ contract StdMathTest is Test { assertEq(stdMath.percentDelta(5000, int256(2500)), 1e18); assertEq(stdMath.percentDelta(7500, int256(2500)), 2e18); - vm.expectRevert(stdError.divisionError); + vm.expectRevert("stdMath percentDelta(int256,int256): Divisor is zero"); stdMathMock.exposed_percentDelta(int256(1), 0); }