aboutsummaryrefslogtreecommitdiff
path: root/src/libwalletqt/WalletManager.cpp
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2019-06-05 22:31:39 -0500
committerluigi1111 <luigi1111w@gmail.com>2019-06-05 22:31:39 -0500
commitf8a6dec0edaba8c50c04bc27607050a38cdd7967 (patch)
treec3f0df97c6718f430f9601fe38154e2c8e9de9c5 /src/libwalletqt/WalletManager.cpp
parentda39be9a8dbba668827a136c4f86ed09a19dd02a (diff)
parent1cffa8b68d83a77d3e34ecf86b9fd98a2af4a635 (diff)
downloadmonzero-gui-f8a6dec0edaba8c50c04bc27607050a38cdd7967.tar.gz
monzero-gui-f8a6dec0edaba8c50c04bc27607050a38cdd7967.tar.xz
monzero-gui-f8a6dec0edaba8c50c04bc27607050a38cdd7967.zip
Merge pull request #2179
1cffa8b WalletManager: fix crash on null/dangling pointer dereference (xiphon)
Diffstat (limited to 'src/libwalletqt/WalletManager.cpp')
-rw-r--r--src/libwalletqt/WalletManager.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp
index f51ab1fa..e643b6cd 100644
--- a/src/libwalletqt/WalletManager.cpp
+++ b/src/libwalletqt/WalletManager.cpp
@@ -378,8 +378,14 @@ double WalletManager::miningHashRate() const
bool WalletManager::isMining() const
{
- if(!m_currentWallet->connected())
- return false;
+ {
+ QMutexLocker locker(&m_mutex);
+ if (m_currentWallet == nullptr || !m_currentWallet->connected())
+ {
+ return false;
+ }
+ }
+
return m_pimpl->isMining();
}
@@ -414,6 +420,7 @@ QString WalletManager::resolveOpenAlias(const QString &address) const
}
bool WalletManager::parse_uri(const QString &uri, QString &address, QString &payment_id, uint64_t &amount, QString &tx_description, QString &recipient_name, QVector<QString> &unknown_parameters, QString &error) const
{
+ QMutexLocker locker(&m_mutex);
if (m_currentWallet)
return m_currentWallet->parse_uri(uri, address, payment_id, amount, tx_description, recipient_name, unknown_parameters, error);
return false;