Если хотите написать что то умное,тогда уж покажите где у меня там выходит за пределы выделенного массива.
как я те покажу? если ты выложил три строчки когда в котором нету ошибок, выкладывай весь код в котором у тебя возникает ошибка, тогда и попробую показать.
new *buf=new char[1024];
memset(buf,NULL,1024);
strcat(buf,"LALALALALA");
buf+=1;
delete []buf;//ВСЕ ОК!
таким образом ты указатель на 1 сдвигаеш и не более при этом теряеш первый символ. Вообщем бред полный получается. Выложи код проблема в другом месте это явно.