Skip to content

Commit 84d6939

Browse files
committed
small clean-up and extra validation (chainsecurity finding 5.7)
1 parent fd94190 commit 84d6939

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/EulerSwapPeriphery.sol

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,21 +198,24 @@ contract EulerSwapPeriphery is IEulerSwapPeriphery {
198198
unchecked {
199199
int256 reserve0New = int256(uint256(reserve0)) + dx;
200200
int256 reserve1New = int256(uint256(reserve1)) + dy;
201+
require(reserve0New > 0 && reserve1New > 0, SwapLimitExceeded());
201202

202203
uint256 low;
203204
uint256 high = type(uint112).max;
204205

205206
while (low < high) {
206207
uint256 mid = (low + high) / 2;
208+
require(mid > 0, SwapLimitExceeded());
207209
(uint256 a, uint256 b) = dy == 0 ? (uint256(reserve0New), mid) : (mid, uint256(reserve1New));
208-
require(a > 0 && b > 0, SwapLimitExceeded());
209210
if (eulerSwap.verify(a, b)) {
210211
high = mid;
211212
} else {
212213
low = mid + 1;
213214
}
214215
}
215216

217+
require(high < type(uint112).max, SwapLimitExceeded()); // at least one point verified
218+
216219
if (dx != 0) dy = int256(low) - reserve1New;
217220
else dx = int256(low) - reserve0New;
218221
}

0 commit comments

Comments
 (0)