aboutsummaryrefslogtreecommitdiff
path: root/src/util/system.cpp
diff options
context:
space:
mode:
authorRyan Ofsky <ryan@ofsky.org>2022-03-07 13:29:46 -0500
committerAndrew Chow <achow101-github@achow101.com>2022-03-09 11:03:05 -0500
commit7e1b968f61a1309dfd0fc4f7cd5a2d964bfc4f30 (patch)
tree77c2670192333419e5af6e065cd6b8c562761784 /src/util/system.cpp
parent4607f700d07cd813db4e8ef516b68a759674e1db (diff)
downloadbitcoin-7e1b968f61a1309dfd0fc4f7cd5a2d964bfc4f30.tar.xz
qt: Avoid crash on startup if int specified in settings.json
Fix GUI startup crash reported by Rspigler in https://github.com/bitcoin/bitcoin/issues/24457 that happens if settings.json contains an integer value for any of the configuration options which GUI settings can currently clash with (-dbcache, -par, -spendzeroconfchange, -signer, -upnp, -natpmp, -listen, -server, -proxy, -proxy, -onion, -onion, -lang, and -prune). Fix is a one-line change in ArgsManager::GetArg. Github-Pull: bitcoin/bitcoin#24498 Rebased-From: 5b1aae12ca4a99c6b09349981a4902717a6a5d3e
Diffstat (limited to 'src/util/system.cpp')
-rw-r--r--src/util/system.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/util/system.cpp b/src/util/system.cpp
index aa9122106b..b5915335c5 100644
--- a/src/util/system.cpp
+++ b/src/util/system.cpp
@@ -588,7 +588,7 @@ bool ArgsManager::IsArgNegated(const std::string& strArg) const
std::string ArgsManager::GetArg(const std::string& strArg, const std::string& strDefault) const
{
const util::SettingsValue value = GetSetting(strArg);
- return value.isNull() ? strDefault : value.isFalse() ? "0" : value.isTrue() ? "1" : value.get_str();
+ return value.isNull() ? strDefault : value.isFalse() ? "0" : value.isTrue() ? "1" : value.isNum() ? value.getValStr() : value.get_str();
}
int64_t ArgsManager::GetIntArg(const std::string& strArg, int64_t nDefault) const