The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Критическая уязвимость в GnuTLS. Разработчик OpenLDAP рекоме..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Критическая уязвимость в GnuTLS, существенно влияющая на без..." +1 +/
Сообщение от тоже Анонимemail (ok), 06-Мрт-14, 20:54 
Это С, напоминаю. Чтобы обработать локальные ptr1, ptr2, ..., их нужно будет в эту функцию передать. В результате вместо этого кода в столбик получаем практически то же самое в списке параметров. Забыть добавить что-то в обоих случаях сразу, конечно, будет сложнее.
Но логика получается в значительной степени неестественная.
Другое дело, что никто не мешает вынести этот блок в конец метода и все перед ним заключить в условия if(!error_happened) после первой же возможности ошибки. А поскольку выделенную память все равно нужно освободить, то и функцию желательно привести к единому выходу, перед которым это освобождение будет естественным образом происходить. Goto здесь разве что экономит память, которую придется потратить на флаги ошибок. Ну, и несколько лишних проверок тех флагов потребуются. Острой необходимости в goto нет.
Вообще if(condition) goto mark; ... mark: совершенно равнозначно if(!condition) { ... }
Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Критическая уязвимость в GnuTLS. Разработчик OpenLDAP рекоме..., opennews, 05-Мрт-14, 11:51  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру