mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 20:42:59 +01:00
Fix some empty vector references
streams.h has some methods that can be tricked into dereferencing null pointers or end() iterators. Fix this.
This commit is contained in:
parent
27faa6cccd
commit
f478d98fe4
@ -248,7 +248,8 @@ public:
|
|||||||
|
|
||||||
void insert(iterator it, std::vector<char>::const_iterator first, std::vector<char>::const_iterator last)
|
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)
|
if (it == vch.begin() + nReadPos && (unsigned int)(last - first) <= nReadPos)
|
||||||
{
|
{
|
||||||
// special case for inserting at the front when there's room
|
// 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)
|
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)
|
if (it == vch.begin() + nReadPos && (unsigned int)(last - first) <= nReadPos)
|
||||||
{
|
{
|
||||||
// special case for inserting at the front when there's room
|
// special case for inserting at the front when there's room
|
||||||
@ -339,6 +341,8 @@ public:
|
|||||||
|
|
||||||
void read(char* pch, size_t nSize)
|
void read(char* pch, size_t nSize)
|
||||||
{
|
{
|
||||||
|
if (nSize == 0) return;
|
||||||
|
|
||||||
// Read from the beginning of the buffer
|
// Read from the beginning of the buffer
|
||||||
unsigned int nReadPosNext = nReadPos + nSize;
|
unsigned int nReadPosNext = nReadPos + nSize;
|
||||||
if (nReadPosNext >= vch.size())
|
if (nReadPosNext >= vch.size())
|
||||||
|
Loading…
Reference in New Issue
Block a user