mirror of
https://codeberg.org/anoncontributorxmr/monero.git
synced 2024-11-27 01:42:27 +00:00
db: throw when given a non txout_to_key output to add
The check was explicit in the original version, so it seems safer to make it explicit here, especially as it is now done implicitely in a different place, away from the original check.
This commit is contained in:
parent
d0e434f0d8
commit
5eef64578b
3 changed files with 13 additions and 0 deletions
|
@ -391,6 +391,10 @@ void BlockchainBDB::add_output(const crypto::hash& tx_hash, const tx_out& tx_out
|
||||||
if (m_output_keys->put(DB_DEFAULT_TX, &k, &data, 0))
|
if (m_output_keys->put(DB_DEFAULT_TX, &k, &data, 0))
|
||||||
throw0(DB_ERROR("Failed to add output pubkey to db transaction"));
|
throw0(DB_ERROR("Failed to add output pubkey to db transaction"));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw0(DB_ERROR("Wrong output type: expected txout_to_key"));
|
||||||
|
}
|
||||||
|
|
||||||
m_num_outputs++;
|
m_num_outputs++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -695,6 +695,10 @@ void BlockchainLMDB::add_output(const crypto::hash& tx_hash, const tx_out& tx_ou
|
||||||
if (mdb_put(*m_write_txn, m_output_keys, &k, &data, 0))
|
if (mdb_put(*m_write_txn, m_output_keys, &k, &data, 0))
|
||||||
throw0(DB_ERROR("Failed to add output pubkey to db transaction"));
|
throw0(DB_ERROR("Failed to add output pubkey to db transaction"));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw0(DB_ERROR("Wrong output type: expected txout_to_key"));
|
||||||
|
}
|
||||||
|
|
||||||
m_num_outputs++;
|
m_num_outputs++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2246,6 +2246,11 @@ bool Blockchain::check_tx_input(const txin_to_key& txin, const crypto::hash& tx_
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// The original code includes a check for the output corresponding to this input
|
||||||
|
// to be a txout_to_key. This is removed, as the database does not store this info,
|
||||||
|
// but only txout_to_key outputs are stored in the DB in the first place, done in
|
||||||
|
// Blockchain*::add_output
|
||||||
|
|
||||||
m_output_keys.push_back(pubkey);
|
m_output_keys.push_back(pubkey);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue