From 31fa1d998c80443bc39c3b3ac7ecd9807d568f3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Wed, 23 Jun 2021 15:47:05 -0400 Subject: [PATCH] jamiaccount: fix use after move semantic onChange should not be moved if used Change-Id: Id76b7b12502179308e5230e5382eb2f73945c43e --- src/jamidht/account_manager.cpp | 2 +- src/jamidht/account_manager.h | 4 ++-- src/jamidht/archive_account_manager.cpp | 2 +- src/jamidht/archive_account_manager.h | 2 +- src/jamidht/jamiaccount.cpp | 4 ++-- src/jamidht/server_account_manager.cpp | 2 +- src/jamidht/server_account_manager.h | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/jamidht/account_manager.cpp b/src/jamidht/account_manager.cpp index d20f0f9f29..431e3a405d 100644 --- a/src/jamidht/account_manager.cpp +++ b/src/jamidht/account_manager.cpp @@ -114,7 +114,7 @@ AccountManager::useIdentity(const dht::crypto::Identity& identity, const std::string& receipt, const std::vector<uint8_t>& receiptSignature, const std::string& username, - OnChangeCallback&& onChange) + const OnChangeCallback& onChange) { if (receipt.empty() or receiptSignature.empty()) return nullptr; diff --git a/src/jamidht/account_manager.h b/src/jamidht/account_manager.h index 43ec7c7e3c..0fb6177b69 100644 --- a/src/jamidht/account_manager.h +++ b/src/jamidht/account_manager.h @@ -119,7 +119,7 @@ public: std::unique_ptr<AccountCredentials> credentials, AuthSuccessCallback onSuccess, AuthFailureCallback onFailure, - OnChangeCallback onChange) + const OnChangeCallback& onChange) = 0; virtual bool changePassword(const std::string& password_old, const std::string& password_new) = 0; @@ -136,7 +136,7 @@ public: const std::string& receipt, const std::vector<uint8_t>& receiptSignature, const std::string& username, - OnChangeCallback&& onChange); + const OnChangeCallback& onChange); void setDht(const std::shared_ptr<dht::DhtRunner>& dht) { dht_ = dht; } diff --git a/src/jamidht/archive_account_manager.cpp b/src/jamidht/archive_account_manager.cpp index 28249e94e4..f122003cc4 100644 --- a/src/jamidht/archive_account_manager.cpp +++ b/src/jamidht/archive_account_manager.cpp @@ -40,7 +40,7 @@ ArchiveAccountManager::initAuthentication(PrivateKey key, std::unique_ptr<AccountCredentials> credentials, AuthSuccessCallback onSuccess, AuthFailureCallback onFailure, - OnChangeCallback onChange) + const OnChangeCallback& onChange) { auto ctx = std::make_shared<AuthContext>(); ctx->key = key; diff --git a/src/jamidht/archive_account_manager.h b/src/jamidht/archive_account_manager.h index 266332a7e0..d965ef2025 100644 --- a/src/jamidht/archive_account_manager.h +++ b/src/jamidht/archive_account_manager.h @@ -47,7 +47,7 @@ public: std::unique_ptr<AccountCredentials> credentials, AuthSuccessCallback onSuccess, AuthFailureCallback onFailure, - OnChangeCallback onChange) override; + const OnChangeCallback& onChange) override; void startSync(const OnNewDeviceCb&, const OnDeviceAnnouncedCb& dcb = {}) override; diff --git a/src/jamidht/jamiaccount.cpp b/src/jamidht/jamiaccount.cpp index c3c0e28be4..d034fe7abe 100644 --- a/src/jamidht/jamiaccount.cpp +++ b/src/jamidht/jamiaccount.cpp @@ -1231,7 +1231,7 @@ JamiAccount::loadAccount(const std::string& archive_password, receipt_, receiptSignature_, managerUsername_, - std::move(callbacks))) { + callbacks)) { // normal loading path id_ = std::move(id); username_ = info->accountId; @@ -1368,7 +1368,7 @@ JamiAccount::loadAccount(const std::string& archive_password, }); } }, - std::move(callbacks)); + callbacks); } } catch (const std::exception& e) { JAMI_WARN("[Account %s] error loading account: %s", getAccountID().c_str(), e.what()); diff --git a/src/jamidht/server_account_manager.cpp b/src/jamidht/server_account_manager.cpp index 02d9c2bc4b..1c740bf5e7 100644 --- a/src/jamidht/server_account_manager.cpp +++ b/src/jamidht/server_account_manager.cpp @@ -67,7 +67,7 @@ ServerAccountManager::initAuthentication(PrivateKey key, std::unique_ptr<AccountCredentials> credentials, AuthSuccessCallback onSuccess, AuthFailureCallback onFailure, - OnChangeCallback onChange) + const OnChangeCallback& onChange) { auto ctx = std::make_shared<AuthContext>(); ctx->key = key; diff --git a/src/jamidht/server_account_manager.h b/src/jamidht/server_account_manager.h index 8645519f18..8fc6f9fd7d 100644 --- a/src/jamidht/server_account_manager.h +++ b/src/jamidht/server_account_manager.h @@ -45,7 +45,7 @@ public: std::unique_ptr<AccountCredentials> credentials, AuthSuccessCallback onSuccess, AuthFailureCallback onFailure, - OnChangeCallback onChange) override; + const OnChangeCallback& onChange) override; bool changePassword(const std::string& /*password_old*/, const std::string& /*password_new*/) override -- GitLab