From 25e5efc238bc72c0c71ae2e125288e080caa7efd Mon Sep 17 00:00:00 2001 From: Ilya Kitaev Date: Wed, 28 Sep 2016 00:35:10 +0300 Subject: [PATCH] libwallet_api: Wallet::setAutoRefreshInterval sanity check --- src/wallet/api/wallet.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/wallet/api/wallet.cpp b/src/wallet/api/wallet.cpp index e249080b1..eefb49e95 100644 --- a/src/wallet/api/wallet.cpp +++ b/src/wallet/api/wallet.cpp @@ -47,6 +47,8 @@ namespace { // copy-pasted from simplewallet static const size_t DEFAULT_MIXIN = 4; static const int DEFAULT_REFRESH_INTERVAL_MILLIS = 1000 * 10; + // limit maximum refresh interval as one minute + static const int MAX_REFRESH_INTERVAL_MILLIS = 1000 * 60 * 1; } struct Wallet2CallbackImpl : public tools::i_wallet2_callback @@ -455,7 +457,13 @@ void WalletImpl::refreshAsync() void WalletImpl::setAutoRefreshInterval(int millis) { - m_refreshIntervalMillis = millis; + if (millis > MAX_REFRESH_INTERVAL_MILLIS) { + LOG_ERROR(__FUNCTION__<< ": invalid refresh interval " << millis + << " ms, maximum allowed is " << MAX_REFRESH_INTERVAL_MILLIS << " ms"); + m_refreshIntervalMillis = MAX_REFRESH_INTERVAL_MILLIS; + } else { + m_refreshIntervalMillis = millis; + } } int WalletImpl::autoRefreshInterval() const