hrev44337 adds 1 changeset to branch 'master' old head: 2a8e9bb83d29cb06a5846ddc42fa1606d831a597 new head: c163f973e6a96a2c37d70cc1992f2bb027f9ab81 ---------------------------------------------------------------------------- c163f97: Fix resource leak in error cases. CID 611238. [ Rene Gollent <anevilyak@xxxxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev44337 Commit: c163f973e6a96a2c37d70cc1992f2bb027f9ab81 URL: http://cgit.haiku-os.org/haiku/commit/?id=c163f97 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Sat Jul 14 15:24:22 2012 UTC ---------------------------------------------------------------------------- 1 file changed, 3 insertions(+), 1 deletion(-) .../value/value_nodes/BMessageValueNode.cpp | 4 +++- ---------------------------------------------------------------------------- diff --git a/src/apps/debugger/value/value_nodes/BMessageValueNode.cpp b/src/apps/debugger/value/value_nodes/BMessageValueNode.cpp index 8316d6e..b805a35 100644 --- a/src/apps/debugger/value/value_nodes/BMessageValueNode.cpp +++ b/src/apps/debugger/value/value_nodes/BMessageValueNode.cpp @@ -281,6 +281,9 @@ BMessageValueNode::ResolvedLocationAndValue(ValueLoader* valueLoader, uint8* messageBuffer = new(std::nothrow) uint8[totalSize]; if (messageBuffer == NULL) return B_NO_MEMORY; + + ArrayDeleter<uint8> deleter(messageBuffer); + memset(messageBuffer, 0, totalSize); memcpy(messageBuffer, fHeader, sizeof(BMessage::message_header)); uint8* tempBuffer = messageBuffer + sizeof(BMessage::message_header); @@ -313,7 +316,6 @@ BMessageValueNode::ResolvedLocationAndValue(ValueLoader* valueLoader, } error = fMessage.Unflatten((const char*)messageBuffer); - delete[] messageBuffer; if (error != B_OK) return error;