|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Valentin Davydov 2:5020/400 08 Dec 2003 10:48:19 To : Dennis Chikin Subject : Re: ДАВАЙТЕ УТОЧHИМ! -------------------------------------------------------------------------------- > From: Dennis Chikin <Dennis.Chikin@p2.f4.n5054.z2.fidonet.org> > Date: Thu, 04 Dec 2003 21:12:02 +0300 > > VD> сендмэйле уже больше 10 лет buffer overrunы вылавливают, и ещё > >buffer owerrun'ы - это не манера программировния, а признак того, что человек >сам не знал: чего же он, собственно, хотел. Угу, можно и так: "выбор языка C в качестве инструмента - признак того, что программист сам не знает, чего же он, собственно, хочет". >По тому как буфер - это циклы. Hифига. Буфер - это такая фигня, указатель на которую передаётся параметром в библиотечную функцию. >Естественным и логичным условием завершения >цикла является проверка на позицию в буфере. А поскольку они в большинстве >своем еще и массивы char'ов - то я уж не знаю, как нужно писать, чтобы получить >упомянутый overrun. Пишут обычно так: #include <string.h> после чего и начинаются всякие заморочки вроде течения памяти в /bin/sh. Hу, то есть, течение памяти, может, и не из-за string.h, а из-за stdlib.h, но вот бага с неправильной обработкой тем же /bin/sh параметров, содержащих нулевые байты, точно оттуда. >Вернее, знаю - это когда на коленке непосредственно в бухгалтерии ваяешь >очередную затычку для чужого софта без исходников, которую, оказывается, надо >было месяц назад, под аккомпанемент сексуально неудовлетворенных теток из >других отделов, у которых прямо сейчас нужно пойти отмыть залитую компотом >клавиатуру и передвинуть стол в другой угол - но этим затычкам в дистрибутивах, >право же, не место. Лучше бы /bin/sh починил, раз ты такой крутой программист. Вал. Дав. --- ifmail v.2.15dev5.1 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/6577661a5d84.html, оценка из 5, голосов 10
|