CDataStream::ignore Throw exception instead of assert on negative nSize.

Previously disk corruption would cause an assert instead of an exception.
This commit is contained in:
Patrick Strateman 2016-04-24 21:59:46 -07:00 committed by Pieter Wuille
parent 4f87af6fc7
commit 4bf631e5e4

View file

@ -240,7 +240,9 @@ public:
CDataStream& ignore(int nSize)
{
// Ignore from the beginning of the buffer
assert(nSize >= 0);
if (nSize < 0) {
throw std::ios_base::failure("CDataStream::ignore(): nSize negative");
}
unsigned int nReadPosNext = nReadPos + nSize;
if (nReadPosNext >= vch.size())
{