summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOmair Majid <omajid@redhat.com>2019-04-16 10:43:09 -0400
committerJan Kotas <jkotas@microsoft.com>2019-04-16 07:43:09 -0700
commitbef5dd6507f2e8ac163941646ef9936d6ced3715 (patch)
treef467490575b736b9d640854bd4d25e68ec8adfa2
parentf7020d98c49d8c89fdad41aae64c018be63c623a (diff)
downloadcoreclr-bef5dd6507f2e8ac163941646ef9936d6ced3715.tar.gz
coreclr-bef5dd6507f2e8ac163941646ef9936d6ced3715.tar.bz2
coreclr-bef5dd6507f2e8ac163941646ef9936d6ced3715.zip
Use delete [] on array types (#24027)
Calling delete on types allocated with new[] leads to undefined behaviour.
-rw-r--r--src/debug/di/process.cpp2
-rw-r--r--src/gc/gc.cpp2
-rw-r--r--src/ilasm/assembler.cpp4
-rw-r--r--src/inc/outstring.h2
-rw-r--r--src/vm/eventpipeeventsource.cpp2
5 files changed, 6 insertions, 6 deletions
diff --git a/src/debug/di/process.cpp b/src/debug/di/process.cpp
index 58c06a0164..36b4b3a632 100644
--- a/src/debug/di/process.cpp
+++ b/src/debug/di/process.cpp
@@ -7300,7 +7300,7 @@ HRESULT CordbProcess::WriteMemory(CORDB_ADDRESS address, DWORD size,
if (bufferCopy != NULL)
{
memmove(buffer, bufferCopy, size);
- delete bufferCopy;
+ delete [] bufferCopy;
}
}
diff --git a/src/gc/gc.cpp b/src/gc/gc.cpp
index d47f714ec9..9e0356b5ff 100644
--- a/src/gc/gc.cpp
+++ b/src/gc/gc.cpp
@@ -19305,7 +19305,7 @@ recheck:
uint8_t** tmp = new (nothrow) uint8_t* [new_size];
if (tmp)
{
- delete background_mark_stack_array;
+ delete [] background_mark_stack_array;
background_mark_stack_array = tmp;
background_mark_stack_array_length = new_size;
background_mark_stack_tos = background_mark_stack_array;
diff --git a/src/ilasm/assembler.cpp b/src/ilasm/assembler.cpp
index 93198a521d..38d83d083e 100644
--- a/src/ilasm/assembler.cpp
+++ b/src/ilasm/assembler.cpp
@@ -1780,7 +1780,7 @@ mdToken Assembler::MakeMemberRef(mdToken cr, __in __nullterminated char* pszMemb
}
}
//if(m_fOBJ) m_pCurMethod->m_TRDList.PUSH(new TokenRelocDescr(m_CurPC,mr));
- delete pszMemberName;
+ delete [] pszMemberName;
delete sig;
}
return mr;
@@ -2164,7 +2164,7 @@ void Assembler::EmitBytes(BYTE *p, unsigned len)
memcpy(pb,m_pOutputBuffer,m_CurPC);
- delete m_pOutputBuffer;
+ delete [] m_pOutputBuffer;
m_pOutputBuffer = pb;
m_pCurOutputPos = &m_pOutputBuffer[m_CurPC];
m_pEndOutputPos = &m_pOutputBuffer[newlen];
diff --git a/src/inc/outstring.h b/src/inc/outstring.h
index 5cf0236350..167ef9ad15 100644
--- a/src/inc/outstring.h
+++ b/src/inc/outstring.h
@@ -36,7 +36,7 @@ public:
end = &start[initialAlloc];
}
- ~OutString() { delete start; }
+ ~OutString() { delete [] start; }
// shortcut for printing decimal
OutString& operator<<(int i) { return(dec(i)); }
diff --git a/src/vm/eventpipeeventsource.cpp b/src/vm/eventpipeeventsource.cpp
index ca62677cde..a993bf17a3 100644
--- a/src/vm/eventpipeeventsource.cpp
+++ b/src/vm/eventpipeeventsource.cpp
@@ -57,7 +57,7 @@ EventPipeEventSource::EventPipeEventSource()
// Delete the metadata after the event is created.
// The metadata blob will be copied into EventPipe-owned memory.
- delete(pMetadata);
+ delete [] pMetadata;
}
EventPipeEventSource::~EventPipeEventSource()