0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-02 09:46:52 -05:00

Make CDataStream work properly on 64-bit systems

This commit is contained in:
MarcoFalke 2022-02-02 18:34:30 +01:00
parent fab02f7991
commit fa56c79df9
No known key found for this signature in database
GPG key ID: CE2B75697E69A548

View file

@ -187,7 +187,7 @@ class CDataStream
protected:
using vector_type = SerializeData;
vector_type vch;
unsigned int nReadPos{0};
vector_type::size_type nReadPos{0};
int nType;
int nVersion;
@ -282,7 +282,7 @@ public:
if (dst.size() == 0) return;
// Read from the beginning of the buffer
auto next_read_pos{CheckedAdd<uint32_t>(nReadPos, dst.size())};
auto next_read_pos{CheckedAdd(nReadPos, dst.size())};
if (!next_read_pos.has_value() || next_read_pos.value() > vch.size()) {
throw std::ios_base::failure("CDataStream::read(): end of data");
}
@ -298,7 +298,7 @@ public:
void ignore(size_t num_ignore)
{
// Ignore from the beginning of the buffer
auto next_read_pos{CheckedAdd<uint32_t>(nReadPos, num_ignore)};
auto next_read_pos{CheckedAdd(nReadPos, num_ignore)};
if (!next_read_pos.has_value() || next_read_pos.value() > vch.size()) {
throw std::ios_base::failure("CDataStream::ignore(): end of data");
}