|
|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/913837796a4d.html, оценка из 5, голосов 10
|