MCPcopy Create free account
hub / github.com/ElementsProject/elements / MakeCorruptPeersDat

Function MakeCorruptPeersDat

src/test/addrman_tests.cpp:911–935  ·  view source on GitHub ↗

Produce a corrupt peers.dat that claims 20 addrs when it only has one addr.

Source from the content-addressed store, hash-verified

909
910// Produce a corrupt peers.dat that claims 20 addrs when it only has one addr.
911static CDataStream MakeCorruptPeersDat()
912{
913 CDataStream s(SER_DISK, CLIENT_VERSION);
914 s << ::Params().MessageStart();
915
916 unsigned char nVersion = 1;
917 s << nVersion;
918 s << ((unsigned char)32);
919 s << uint256::ONE;
920 s << 10; // nNew
921 s << 10; // nTried
922
923 int nUBuckets = ADDRMAN_NEW_BUCKET_COUNT ^ (1 << 30);
924 s << nUBuckets;
925
926 CService serv;
927 BOOST_CHECK(Lookup("252.1.1.1", serv, 7777, false));
928 CAddress addr = CAddress(serv, NODE_NONE);
929 CNetAddr resolved;
930 BOOST_CHECK(LookupHost("252.2.2.2", resolved, false));
931 AddrInfo info = AddrInfo(addr, resolved);
932 s << info;
933
934 return s;
935}
936
937BOOST_AUTO_TEST_CASE(load_addrman_corrupted)
938{

Callers 1

BOOST_AUTO_TEST_CASEFunction · 0.85

Calls 5

LookupFunction · 0.85
LookupHostFunction · 0.85
AddrInfoClass · 0.85
ParamsClass · 0.50
CAddressClass · 0.50

Tested by

no test coverage detected