Re: В чем проблема?
От:
dRew84
Дата:
27.07.12 11:05
Оценка:
3 (1) +2
Здравствуйте, Bleach, Вы писали:
B>void sss(char **s1,char **s2)
B>{
B> *s2 = (char *)malloc(strlen(*s1));
B> strcpy(*s2,*s1);
B>}
Память выделена под strlen(*s1) без учета завершающего символа. Strcpy копирует все символы, в том числе и завершающий... и копирует его уже куда-то за выделенную память. Типичный buffer overrun.
Переместить
Удалить
Выделить ветку
Проголосовать
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить
Проголосовать
Заголовок: