summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/framing/Buffer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/framing/Buffer.cpp')
-rw-r--r--cpp/src/qpid/framing/Buffer.cpp4
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;
}