[haiku-commits] haiku: hrev44337 - src/apps/debugger/value/value_nodes

  • From: anevilyak@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 14 Jul 2012 17:25:39 +0200 (CEST)

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;
 


Other related posts:

  • » [haiku-commits] haiku: hrev44337 - src/apps/debugger/value/value_nodes - anevilyak