Merge pull request #17 from moneromooo-monero/blockchain
db_lmdb: catch attempt to remove block from an empty blockchain db_lmdb: do not give the group database write permissions
This commit is contained in:
commit
5baf9d9eb3
|
@ -207,6 +207,9 @@ void BlockchainLMDB::remove_block()
|
|||
LOG_PRINT_L3("BlockchainLMDB::" << __func__);
|
||||
check_open();
|
||||
|
||||
if (m_height == 0)
|
||||
throw0(BLOCK_DNE ("Attempting to remove block from an empty blockchain"));
|
||||
|
||||
MDB_val_copy<uint64_t> k(m_height - 1);
|
||||
MDB_val h;
|
||||
if (mdb_get(*m_write_txn, m_block_hashes, &k, &h))
|
||||
|
@ -527,7 +530,7 @@ void BlockchainLMDB::open(const std::string& filename)
|
|||
size_t mapsize = 1LL << 34;
|
||||
if (auto result = mdb_env_set_mapsize(m_env, mapsize))
|
||||
throw0(DB_ERROR(std::string("Failed to set max memory map size: ").append(mdb_strerror(result)).c_str()));
|
||||
if (auto result = mdb_env_open(m_env, filename.c_str(), 0, 0664))
|
||||
if (auto result = mdb_env_open(m_env, filename.c_str(), 0, 0644))
|
||||
throw0(DB_ERROR(std::string("Failed to open lmdb environment: ").append(mdb_strerror(result)).c_str()));
|
||||
|
||||
// get a read/write MDB_txn
|
||||
|
|
Loading…
Reference in New Issue