Browse Source

CAddrMan::Deserialize handle corrupt serializations better.

Signed-off-by: Simon <simon@bitcartel.com>
pull/145/head
Patrick Strateman 8 years ago
committed by Simon
parent
commit
7bfb552f63
  1. 8
      src/addrman.h

8
src/addrman.h

@ -349,6 +349,14 @@ public:
nUBuckets ^= (1 << 30);
}
if (nNew > ADDRMAN_NEW_BUCKET_COUNT * ADDRMAN_BUCKET_SIZE) {
throw std::ios_base::failure("Corrupt CAddrMan serialization, nNew exceeds limit.");
}
if (nTried > ADDRMAN_TRIED_BUCKET_COUNT * ADDRMAN_BUCKET_SIZE) {
throw std::ios_base::failure("Corrupt CAddrMan serialization, nTried exceeds limit.");
}
// Deserialize entries from the new table.
for (int n = 0; n < nNew; n++) {
CAddrInfo &info = mapInfo[n];

Loading…
Cancel
Save