Summary
The calls to gmxReader.getMarket()
and IOracle(oracle).getPrimaryPrice()
are external calls
Vulnerability Details
function getMarketPrices(address market) internal view returns (MarketPrices memory) {MarketPrices memory prices;MarketProps memory marketInfo = gmxReader.getMarket(address(dataStore),market);address oracle = IOrderHandler(orderHandler).oracle();prices.indexTokenPrice = IOracle(oracle).getPrimaryPrice(marketInfo.indexToken);prices.longTokenPrice = IOracle(oracle).getPrimaryPrice(marketInfo.longToken);prices.shortTokenPrice = IOracle(oracle).getPrimaryPrice(marketInfo.shortToken);return prices;}
Impact
Tools Used
Recommendations
Add try-catch blocks or require checks to ensure these calls succeed:
require(address(gmxReader) != address(0), "Invalid GMX Reader address");
require(oracle != address(0), "Invalid Oracle address");