Я обнаружил в нашей кодовой базе классическую ошибку несовпадения нового / удаления, а именно:
char *foo = new char[10];
// do something
delete foo; // instead of delete[] foo;
Насколько это серьезно? Это вызывает утечку памяти или ошибку? Какие последствия. У нас есть некоторые проблемы с памятью, но это не кажется достаточно серьезным, чтобы объяснить все наши симптомы (повреждение кучи и т. Д.)
РЕДАКТИРОВАТЬ: дополнительные вопросы для ясности
Освобождает ли он только первый член массива? или
Это заставляет систему терять контроль над массивом? или
Поврежденная память каким-то образом?