From ba4fb41424a16a472b4ef13c7c42d7589a91121c Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 14 Jul 2008 02:34:29 +0000 Subject: [PATCH] fix heap corruption bug: use delete[] to delete a buffer allocated with new[], not delete git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/ipcbase.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/common/ipcbase.cpp b/src/common/ipcbase.cpp index 151b3004d1..b3ec3e7a06 100644 --- a/src/common/ipcbase.cpp +++ b/src/common/ipcbase.cpp @@ -61,8 +61,8 @@ wxConnectionBase::wxConnectionBase(const wxConnectionBase& copy) wxConnectionBase::~wxConnectionBase(void) { - if ( m_deletebufferwhendone && m_buffer ) - delete m_buffer; + if ( m_deletebufferwhendone ) + delete [] m_buffer; } wxChar *wxConnectionBase::GetBufferAtLeast( size_t bytes ) @@ -73,8 +73,7 @@ wxChar *wxConnectionBase::GetBufferAtLeast( size_t bytes ) { // need to resize buffer if ( m_deletebufferwhendone ) { // we're in charge of buffer, increase it - if ( m_buffer ) - delete m_buffer; + delete [] m_buffer; // the argument specifies **byte size**, but m_buffer is of type // wxChar. Under unicode: sizeof(wxChar) > 1, so the buffer size is // bytes / sizeof(wxChar) rounded upwards.