summaryrefslogtreecommitdiff
path: root/zen/serialize.h
diff options
context:
space:
mode:
Diffstat (limited to 'zen/serialize.h')
-rw-r--r--zen/serialize.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/zen/serialize.h b/zen/serialize.h
index a9238359..982165f9 100644
--- a/zen/serialize.h
+++ b/zen/serialize.h
@@ -86,6 +86,7 @@ struct BinStreamIn //throw UnexpectedEndOfStreamError
const void* requestRead(size_t len) //throw UnexpectedEndOfStreamError
{
+ if (len == 0) return nullptr; //don't allow for possibility to access empty buffer
if (pos + len > buffer.size())
throw UnexpectedEndOfStreamError();
size_t oldPos = pos;
@@ -102,8 +103,9 @@ struct BinStreamOut
{
void* requestWrite(size_t len)
{
- size_t oldSize = buffer.size();
- buffer.resize(buffer.size() + len);
+ if (len == 0) return nullptr; //don't allow for possibility to access empty buffer
+ const size_t oldSize = buffer.size();
+ buffer.resize(oldSize + len);
return &*buffer.begin() + oldSize;
}
bgstack15