diff options
| author | Riccardo Spagni <ric@spagni.net> | 2018-01-10 11:54:11 +0100 |
|---|---|---|
| committer | Riccardo Spagni <ric@spagni.net> | 2018-01-10 11:54:11 +0100 |
| commit | 990389f09d53ac9319f6070a9374703d9d5c2e14 (patch) | |
| tree | d573d99228129d36e93dd95206828d1183bffb40 /src | |
| parent | 229e1ce7d12f326e72271a4f706f8c99c8a6f039 (diff) | |
| parent | 9996d5e96c71cfcf1d693dd6ca533c6a4176bd10 (diff) | |
| download | monzero-core-990389f09d53ac9319f6070a9374703d9d5c2e14.tar.gz monzero-core-990389f09d53ac9319f6070a9374703d9d5c2e14.tar.xz monzero-core-990389f09d53ac9319f6070a9374703d9d5c2e14.zip | |
Merge pull request #3002
9996d5e9 wallet2: guard against the dameon sending blocks before last checkpoint (moneromooo-monero)
eadaa6aa wallet_rpc_server: fix wallet leak on error exit (moneromooo-monero)
Diffstat (limited to 'src')
| -rw-r--r-- | src/wallet/wallet2.cpp | 5 | ||||
| -rw-r--r-- | src/wallet/wallet_rpc_server.cpp | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index 20e8ba53d..3aad6a0f3 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -2036,6 +2036,11 @@ void wallet2::fast_refresh(uint64_t stop_height, uint64_t &blocks_start_height, pull_hashes(0, blocks_start_height, short_chain_history, hashes); if (hashes.size() <= 3) return; + if (blocks_start_height < m_blockchain.offset()) + { + MERROR("Blocks start before blockchain offset: " << blocks_start_height << " " << m_blockchain.offset()); + return; + } if (hashes.size() + current_index < stop_height) { drop_from_short_history(short_chain_history, 3); std::list<crypto::hash>::iterator right = hashes.end(); diff --git a/src/wallet/wallet_rpc_server.cpp b/src/wallet/wallet_rpc_server.cpp index 4c1788f0b..fc2c43c04 100644 --- a/src/wallet/wallet_rpc_server.cpp +++ b/src/wallet/wallet_rpc_server.cpp @@ -89,6 +89,8 @@ namespace tools //------------------------------------------------------------------------------------------------------------------------------ wallet_rpc_server::~wallet_rpc_server() { + if (m_wallet) + delete m_wallet; } //------------------------------------------------------------------------------------------------------------------------------ void wallet_rpc_server::set_wallet(wallet2 *cr) |
