From 1e9e735670f029c975d3b7486a54e5bb67135df7 Mon Sep 17 00:00:00 2001 From: ismaelsadeeq Date: Thu, 5 Sep 2024 20:40:01 +0100 Subject: [PATCH] chain: move new settings safely in `overwriteRwSetting` --- src/interfaces/chain.h | 2 +- src/node/interfaces.cpp | 2 +- src/wallet/load.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/interfaces/chain.h b/src/interfaces/chain.h index be596b17657..8aac48446aa 100644 --- a/src/interfaces/chain.h +++ b/src/interfaces/chain.h @@ -361,7 +361,7 @@ public: virtual bool updateRwSetting(const std::string& name, const SettingsUpdate& update_function) = 0; //! Replace a setting in /settings.json with a new value. - virtual bool overwriteRwSetting(const std::string& name, common::SettingsValue& value, bool write = true) = 0; + virtual bool overwriteRwSetting(const std::string& name, common::SettingsValue value, bool write = true) = 0; //! Delete a given setting in /settings.json. virtual bool deleteRwSettings(const std::string& name, bool write = true) = 0; diff --git a/src/node/interfaces.cpp b/src/node/interfaces.cpp index 54b986c926a..44a2cb93f20 100644 --- a/src/node/interfaces.cpp +++ b/src/node/interfaces.cpp @@ -828,7 +828,7 @@ public: // Now dump value to disk if requested return *action == interfaces::SettingsAction::SKIP_WRITE || args().WriteSettingsFile(); } - bool overwriteRwSetting(const std::string& name, common::SettingsValue& value, bool write) override + bool overwriteRwSetting(const std::string& name, common::SettingsValue value, bool write) override { if (value.isNull()) return deleteRwSettings(name, write); return updateRwSetting(name, [&](common::SettingsValue& settings) { diff --git a/src/wallet/load.cpp b/src/wallet/load.cpp index 129b5c7c2a0..1149ce0a476 100644 --- a/src/wallet/load.cpp +++ b/src/wallet/load.cpp @@ -69,7 +69,7 @@ bool VerifyWallets(WalletContext& context) // Pass write=false because no need to write file and probably // better not to. If unnamed wallet needs to be added next startup // and the setting is empty, this code will just run again. - chain.overwriteRwSetting("wallet", wallets, /*write=*/false); + chain.overwriteRwSetting("wallet", std::move(wallets), /*write=*/false); } }