From cae99f6cc8b000b57deaba8e7d68270d829e2e53 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Tue, 12 Jul 2011 03:38:23 -0500 Subject: [PATCH] Datapacker potentially leaking buffers? --- indra/llmessage/lldatapacker.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/indra/llmessage/lldatapacker.h b/indra/llmessage/lldatapacker.h index b8d9fcbdd..fcd2add22 100644 --- a/indra/llmessage/lldatapacker.h +++ b/indra/llmessage/lldatapacker.h @@ -174,10 +174,15 @@ public: S32 getCurrentSize() const { return (S32)(mCurBufferp - mBufferp); } S32 getBufferSize() const { return mBufferSize; } + const U8* getBuffer() const { return mBufferp; } void reset() { mCurBufferp = mBufferp; mWriteEnabled = (mCurBufferp != NULL); } void freeBuffer() { delete [] mBufferp; mBufferp = mCurBufferp = NULL; mBufferSize = 0; mWriteEnabled = FALSE; } void assignBuffer(U8 *bufferp, S32 size) { + if(mBufferp && mBufferp != bufferp) + { + freeBuffer() ; + } mBufferp = bufferp; mCurBufferp = bufferp; mBufferSize = size;