diff options
Diffstat (limited to 'zen/serialize.h')
-rw-r--r-- | zen/serialize.h | 6 |
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; } |