Author: shuston Date: Fri Jun 26 22:13:33 2009 New Revision: 788886 URL: http://svn.apache.org/viewvc?rev=788886&view=rev Log: Fix out-of-range vector access; fixes QPID-1957
Modified: qpid/trunk/qpid/cpp/src/qpid/framing/FrameDecoder.cpp Modified: qpid/trunk/qpid/cpp/src/qpid/framing/FrameDecoder.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/framing/FrameDecoder.cpp?rev=788886&r1=788885&r2=788886&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/qpid/framing/FrameDecoder.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/framing/FrameDecoder.cpp Fri Jun 26 22:13:33 2009 @@ -32,7 +32,8 @@ /** Append up to n bytes from start of buf to end of bytes. */ void append(std::vector<char>& bytes, Buffer& buffer, size_t n) { size_t oldSize = bytes.size(); - n = std::min(n, size_t(buffer.available())); + if ((n = std::min(n, size_t(buffer.available()))) == 0) + return; bytes.resize(oldSize+n); char* p = &bytes[oldSize]; buffer.getRawData(reinterpret_cast<uint8_t*>(p), n); --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:commits-subscr...@qpid.apache.org