- BEST_PEOPLE (2:5077/15.22) ---------------------- BEST_PEOPLE (RU.UNIX.BSD) -
From : Valentin Nechayev 2:5020/400 13 Dec 00 02:00:16
Subj : Re: oops - was: Re: спецы по squid есть?
-------------------------------------------------------------------------------
* Forwarded from area 'RU.UNIX.BSD'
From: netch@carrier.kiev.ua (Valentin Nechayev)
Hello igor@paco.net!
>> даже в состоянии существенно паршиво работающей соображалки (ну там бодун,
>> обкурка, канал упал, жена ушла) не написал такое, что переполняется и
ipn> Если человек пишет программу в таком состоянии, ничего хорошего не
ipn> получится даже если он будет использовать любые как угодно хорошие функции
ipn> - можете поверить.
Проблемы с переполнением буфера оттого, что где-то за тридевять килобайт
стали на пару символов больше писать - не отследятся фактически в любом
состоянии. "Сложность программы превзошла сложность программиста", как
говорят (только не надо править эту фразу, она записана так, как я ее хотел
записать). Жесткое ограничение идущей рядом длиной - спасает значительно
вероятнее, чем сложные и запутанные конструктивы с нетривиальной связью
между блоками, или даже со ссылкой на хедера.
>> пробивается. Те функции, в которых явно указан размер буфера, который
>> указан через sizeof или идет параллельным к указателю на буфер параметром,
>> лучше тем, что информация о том, сколько может в него влезть, локализована и
>> не надо копаться по черт-те где разбросанным кускам. Вам это должно быть
>> существенно, потому что, при достаточно хорошем уровне проекта, уровень
>> кодинга у вас удовлетворительным назвать никак нельзя.
ipn> Только не из-за использования sprintf. Я следую нескольким простым
ipn> правилам, которые обеспечивают корректность использования перечисленных
ipn> функций. Один обнаруженный прокол еще не повод для глобальных выводов.
Эти сказочки можете кому-то более доверчивому рассказывать, сорри за резкость.
А факт очень прост - дыра была, эксплойт есть, дыра именно на sprintf'е.
Значит - слабое место. Умные люди вон объявляют любой sprintf как deprecated.
Послушать бы Вам их...
>>>> И вообще, сишные строки - давить.
>> ipn> Hу, и? Практическое конструктивное продолжение у этого лозунга есть?
>> Реализации нормальных строк со счетчиками валяются на любом углу.
ipn> использование чужих библиотек в своих (достаточно сложных) программах -
ipn> вопрос личных предпочтений. Я предпочитаю избегать этого.
netch@iv>wc -l sbuf.c vstring.c
187 sbuf.c
138 vstring.c
325 total
тоже мне "библиотека"... Впрочем, раз вы нос воротите - то я иначе как под
BSD license не отдам. GPL suxx & mustdie.
/netch
--- ifmail v.2.15dev5 * Origin: Lucky Netch Incorporated (2:5020/400)