check load_t_from_json return values

This commit is contained in:
moneromooo-monero 2019-01-19 13:02:47 +00:00
parent e396146aee
commit 23abe60705
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3
2 changed files with 11 additions and 4 deletions

View file

@ -305,7 +305,8 @@ namespace cryptonote
} }
m_config_folder_path = boost::filesystem::path(command_line::get_arg(vm, arg_extra_messages)).parent_path().string(); m_config_folder_path = boost::filesystem::path(command_line::get_arg(vm, arg_extra_messages)).parent_path().string();
m_config = AUTO_VAL_INIT(m_config); m_config = AUTO_VAL_INIT(m_config);
epee::serialization::load_t_from_json_file(m_config, m_config_folder_path + "/" + MINER_CONFIG_FILE_NAME); const std::string filename = m_config_folder_path + "/" + MINER_CONFIG_FILE_NAME;
CHECK_AND_ASSERT_MES(epee::serialization::load_t_from_json_file(m_config, filename), false, "Failed to load data from " << filename);
MINFO("Loaded " << m_extra_messages.size() << " extra messages, current index " << m_config.current_extra_message_index); MINFO("Loaded " << m_extra_messages.size() << " extra messages, current index " << m_config.current_extra_message_index);
} }

View file

@ -118,7 +118,11 @@ bool message_transporter::receive_messages(const std::vector<std::string> &desti
std::string json = get_str_between_tags(answer, "<string>", "</string>"); std::string json = get_str_between_tags(answer, "<string>", "</string>");
bitmessage_rpc::inbox_messages_response bitmessage_res; bitmessage_rpc::inbox_messages_response bitmessage_res;
epee::serialization::load_t_from_json(bitmessage_res, json); if (!epee::serialization::load_t_from_json(bitmessage_res, json))
{
MERROR("Failed to deserialize messages");
return true;
}
size_t size = bitmessage_res.inboxMessages.size(); size_t size = bitmessage_res.inboxMessages.size();
messages.clear(); messages.clear();
@ -140,8 +144,10 @@ bool message_transporter::receive_messages(const std::vector<std::string> &desti
std::string message_body = epee::string_encoding::base64_decode(message_info.message); std::string message_body = epee::string_encoding::base64_decode(message_info.message);
// Second Base64-decoding: The MMS uses Base64 to hide non-textual data in its JSON from Bitmessage // Second Base64-decoding: The MMS uses Base64 to hide non-textual data in its JSON from Bitmessage
json = epee::string_encoding::base64_decode(message_body); json = epee::string_encoding::base64_decode(message_body);
epee::serialization::load_t_from_json(message, json); if (!epee::serialization::load_t_from_json(message, json))
is_mms_message = true; MERROR("Failed to deserialize message");
else
is_mms_message = true;
} }
catch(const std::exception& e) catch(const std::exception& e)
{ {