diff --git a/src/rpc/command.h b/src/rpc/command.h --- a/src/rpc/command.h +++ b/src/rpc/command.h @@ -33,7 +33,7 @@ virtual UniValue Execute(const UniValue &args) const = 0; - std::string GetName() const { return name; }; + const std::string &GetName() const { return name; }; }; #endif // BITCOIN_RPC_COMMAND_H diff --git a/src/rpc/server.cpp b/src/rpc/server.cpp --- a/src/rpc/server.cpp +++ b/src/rpc/server.cpp @@ -68,8 +68,9 @@ void RPCServer::RegisterCommand(std::unique_ptr command) { if (command != nullptr) { + const std::string &commandName = command->GetName(); commands.getWriteView()->insert( - std::make_pair(command->GetName(), std::move(command))); + std::make_pair(commandName, std::move(command))); } }