From b1fb8bb18c3123c8b53fb1708d1103d66d516c12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Stuczy=C5=84ski?= Date: Tue, 7 Mar 2023 09:51:18 +0000 Subject: [PATCH] Validating new interval config parameters to prevent division by zero --- contracts/mixnet/src/interval/transactions.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/contracts/mixnet/src/interval/transactions.rs b/contracts/mixnet/src/interval/transactions.rs index 1246aea2ae..0392368389 100644 --- a/contracts/mixnet/src/interval/transactions.rs +++ b/contracts/mixnet/src/interval/transactions.rs @@ -327,6 +327,14 @@ pub(crate) fn try_update_interval_config( ) -> Result { ensure_is_owner(info.sender, deps.storage)?; + if epochs_in_interval == 0 { + return Err(MixnetContractError::EpochsInIntervalZero); + } + + if epoch_duration_secs == 0 { + return Err(MixnetContractError::EpochDurationZero); + } + let interval = storage::current_interval(deps.storage)?; if force_immediately || interval.is_current_interval_over(&env) { change_interval_config(