mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-01 00:19:07 +02:00
wallet: Fix use-after-free in WalletBatch::EraseRecords
Github-Pull: #29176 Rebased-From: faebf1df2afe207f5d2d4f73f50ac66824fe34bb
This commit is contained in:
parent
40252e184e
commit
ccf00b1e6e
@ -1401,13 +1401,13 @@ bool WalletBatch::EraseRecords(const std::unordered_set<std::string>& types)
|
||||
}
|
||||
|
||||
// Make a copy of key to avoid data being deleted by the following read of the type
|
||||
Span key_data{key};
|
||||
const SerializeData key_data{key.begin(), key.end()};
|
||||
|
||||
std::string type;
|
||||
key >> type;
|
||||
|
||||
if (types.count(type) > 0) {
|
||||
if (!m_batch->Erase(key_data)) {
|
||||
if (!m_batch->Erase(Span{key_data})) {
|
||||
cursor.reset(nullptr);
|
||||
m_batch->TxnAbort();
|
||||
return false; // erase failed
|
||||
|
Loading…
x
Reference in New Issue
Block a user