#345 double-free-or-corruption

This commit is contained in:
Vlad Dobromyslov 2022-04-26 13:09:41 +00:00 committed by serkixenos
parent 6eccec2ba4
commit 13c782ccd6
2 changed files with 5 additions and 1 deletions

View file

@ -1,5 +1,6 @@
#pragma once #pragma once
#include <mutex>
#include <vector> #include <vector>
#include <boost/program_options.hpp> #include <boost/program_options.hpp>
@ -60,6 +61,7 @@ protected:
std::map<std::string, std::string> private_keys; std::map<std::string, std::string> private_keys;
std::vector<std::string> son_listener_log; std::vector<std::string> son_listener_log;
std::mutex son_listener_log_mutex;
void on_applied_block(const signed_block &b); void on_applied_block(const signed_block &b);

View file

@ -619,13 +619,15 @@ void sidechain_net_handler::settle_sidechain_transactions() {
} }
void sidechain_net_handler::add_to_son_listener_log(std::string trx_id) { void sidechain_net_handler::add_to_son_listener_log(std::string trx_id) {
const std::lock_guard<std::mutex> lock(son_listener_log_mutex);
son_listener_log.insert(son_listener_log.begin(), trx_id); son_listener_log.insert(son_listener_log.begin(), trx_id);
if (son_listener_log.size() > 33) { if (son_listener_log.size() > 33) {
son_listener_log.erase(son_listener_log.end()); son_listener_log.pop_back();
} }
} }
std::vector<std::string> sidechain_net_handler::get_son_listener_log() { std::vector<std::string> sidechain_net_handler::get_son_listener_log() {
const std::lock_guard<std::mutex> lock(son_listener_log_mutex);
return son_listener_log; return son_listener_log;
} }