Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Valentin Nechayev                    2:5020/400     28 Jan 2001  02:15:21
 To : Alex Korchmar
 Subject : Re: 2 процессора....
 -------------------------------------------------------------------------------- 
 
 >>> Alex Korchmar wrote:
 
  VN>> Что-то я не понял. Подробнее можно? snprintf( buf, bufsize, ... ) защищает
  VN>> от переполнения этого самого buf, если сам snprintf правильно написан.
  VN>> Если же Вы про передачу чего-то подсунутого юзером как форматной строки -
  VN>> то это уже другая ситуация.
 AK> это как раз та самая ситуация - кто-то, когда-то, добавив во все sprintfы
 AK> букву 'n' был свято уверен, что уж теперь-то ему ничего не грозит. И
 AK> голову по назначению употребил - в нее есть.
 AK> Если головой думать - snprintf иногда может спасти от тривиальных ошибок. 
 AK> А острой необходимости его использовать вместо sprintf с правильной 
 AK> форматной строкой - нету.
 
 Я все же считаю, что есть. Потому что после этого уж точно не переполнится -
 и, хоть и будет в остальном работать криво, но в этом хотя бы стек не сорвет
 (и backtrace станет показывать действительный стек вызова, а не чушь).
 Hу а то, что надо контролировать переполнение, следить, чтобы юзер не мог
 задавать форматную строку, вызывать вообще данную функцию по назначению
 и прочая и прочая и прочая - ну уж, извините, думать все равно надо.
 Так что я - категорически за snprintf и против sprintf. При указанных условиях.
 Облегчить жизнь она может, усложнить - только как усилитель чужой глупости,
 а эту ситуацию я обычно не рассматриваю. ;))
 
 AK> Вот точно так же новые чайники ляпают эту идиотскую мультитредовость,
 AK> в святой простоте уверенные, что это даст прирост производительности. А
 AK> потом внутрь посмотришь - а там три треда, работающих строго по очереди.
 
 Hу, это тоже неплохо - я знаю хорошую программу, именно так и работающую.
 И в ней именно три треда. Интересно, мы не об одном и том же? ;))
 Почему там треды - автор сказал, что просто так удобнее делать сопрограммы.
 /netch
 --- ifmail v.2.15dev5
  * Origin: Lucky Netch Incorporated (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: 2 процессора....   Valentin Nechayev   28 Jan 2001 02:15:21 
Архивное /ru.linux/913837796a4d.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional