diff options
Diffstat (limited to 'cpp/src/qpid/framing/Buffer.cpp')
-rw-r--r-- | cpp/src/qpid/framing/Buffer.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/cpp/src/qpid/framing/Buffer.cpp b/cpp/src/qpid/framing/Buffer.cpp index eaa4433b5f..b42797414f 100644 --- a/cpp/src/qpid/framing/Buffer.cpp +++ b/cpp/src/qpid/framing/Buffer.cpp @@ -164,12 +164,14 @@ void Buffer::putLongString(const string& s){ void Buffer::getShortString(string& s){ uint8_t len = getOctet(); + checkAvailable(len); s.assign(data + position, len); position += len; } void Buffer::getLongString(string& s){ uint32_t len = getLong(); + checkAvailable(len); s.assign(data + position, len); position += len; } @@ -181,6 +183,7 @@ void Buffer::putRawData(const string& s){ } void Buffer::getRawData(string& s, uint32_t len){ + checkAvailable(len); s.assign(data + position, len); position += len; } @@ -191,6 +194,7 @@ void Buffer::putRawData(const uint8_t* s, size_t len){ } void Buffer::getRawData(uint8_t* s, size_t len){ + checkAvailable(len); memcpy(s, data + position, len); position += len; } |