troubleshooting Question

Heap Corruption with delete

Avatar of spiffles
spiffles asked on
C
5 Comments1 Solution579 ViewsLast Modified:
Why does the following result in heap corruption
char* tempString = new char(strLen+1)
for( i = 0; i < strLen; i++)
{
    *(tempString+1) = 'A';
}
tempString[srcLen] = NULL;    
delete tempString                      // Heap Corruption with delete []tempString


If i replace the allocation line with
char* tempString = new char [strLen + 1];
it works? why?
Join the community to see this answer!
Join our exclusive community to see this answer & millions of others.
Unlock 1 Answer and 5 Comments.
Join the Community
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 5 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros