cryptonote_protocol: sanity check chain hashes from peer

This commit is contained in:
moneromooo-monero 2017-12-07 22:22:14 +00:00
parent 25584f8639
commit 46d6fa35c9
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3

View File

@ -1585,6 +1585,12 @@ skip:
drop_connection(context, true, false); drop_connection(context, true, false);
return 1; return 1;
} }
if (arg.total_height < arg.m_block_ids.size() || arg.start_height > arg.total_height - arg.m_block_ids.size())
{
LOG_ERROR_CCONTEXT("sent invalid start/nblocks/height, dropping connection");
drop_connection(context, true, false);
return 1;
}
context.m_remote_blockchain_height = arg.total_height; context.m_remote_blockchain_height = arg.total_height;
context.m_last_response_height = arg.start_height + arg.m_block_ids.size()-1; context.m_last_response_height = arg.start_height + arg.m_block_ids.size()-1;