LINUX.ORG.RU

История изменений

Исправление lenin386, (текущая версия) :

Что у нас происходит здесь: мы неявно выделяем память в первой строчке

Нет, никакого выделения памяти тут нет. Строка

""
лежит где-то в области глобальных констант, а до этого, прямо лежит в исходнике. Выделение на стеке будет только под сам указатель http_length, не под строку. Потом этому указателю присвоится адрес этой строки, дальше попытка пейсать в эту область. Если она не защищена - то что-то туда по этому адресу запишется. Может и работать.

Исправление lenin386, :

Что у нас происходит здесь: мы неявно выделяем память в первой строчке

Нет, никакого выделения памяти тут нет. Строка

""
лежит где-то в области глобальных констант, а до этого, прямо лежит в исходнике. http_length присвается её адрес, дальше попытка пейсать в эту область. Если она не защищена - то что-то туда по этому адресу запишется. Может и работать.

Исходная версия lenin386, :

Что у нас происходит здесь: мы неявно выделяем память в первой строчке

Нет, никакого выделения памяти тут нет. Строка «» лежит где-то в области глобальных констант, а до этого, прямо лежит в исходнике. http_length присвается её адрес, дальше попытка пейсать в эту область. Если она не защищена - то что-то туда по этому адресу запишется. Может и работать.