mirror of
https://github.com/dogecoin/dogecoin.git
synced 2026-01-31 10:30:52 +00:00
Fix some empty vector references
streams.h has some methods that can be tricked into dereferencing null pointers or end() iterators. Fix this. Github-Pull: #10250 Rebased-From: f478d98fe49d3c0c0f2c79b3f8d9dbfc1aafd407
This commit is contained in:
parent
a40d69e0b8
commit
e23cef0c94
@ -248,7 +248,8 @@ public:
|
||||
|
||||
void insert(iterator it, std::vector<char>::const_iterator first, std::vector<char>::const_iterator last)
|
||||
{
|
||||
assert(last - first >= 0);
|
||||
if (last == first) return;
|
||||
assert(last - first > 0);
|
||||
if (it == vch.begin() + nReadPos && (unsigned int)(last - first) <= nReadPos)
|
||||
{
|
||||
// special case for inserting at the front when there's room
|
||||
@ -261,7 +262,8 @@ public:
|
||||
|
||||
void insert(iterator it, const char* first, const char* last)
|
||||
{
|
||||
assert(last - first >= 0);
|
||||
if (last == first) return;
|
||||
assert(last - first > 0);
|
||||
if (it == vch.begin() + nReadPos && (unsigned int)(last - first) <= nReadPos)
|
||||
{
|
||||
// special case for inserting at the front when there's room
|
||||
@ -339,6 +341,8 @@ public:
|
||||
|
||||
void read(char* pch, size_t nSize)
|
||||
{
|
||||
if (nSize == 0) return;
|
||||
|
||||
// Read from the beginning of the buffer
|
||||
unsigned int nReadPosNext = nReadPos + nSize;
|
||||
if (nReadPosNext >= vch.size())
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user