The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Переполнение буфера в OpenSSL, эксплуатируемое при проверке сертификатов X.509 , opennews (??), 01-Ноя-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


61. "Переполнение буфера в OpenSSL, эксплуатируемое при проверке ..."  +/
Сообщение от Аноним (61), 02-Ноя-22, 06:36 
И что здесь такого? Чел забыл, что чек происходит уже после того, как данные пишутся в буффер, а не перед. По вашему было бы лучше обернуть код в кучу for циклов до такой степени, что он перестанет быть читаемым, потому что вам придётся следить за десятками проверок каждого цикла внутри цикла? Или лучше потратить рантайма на бесконечные проверки того, что нам как программисту и так уже известно, но пускай теперь эта проверка будет исполнятся каждую миллисекунду на миллиардах машин по всему миру?
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

63. "Переполнение буфера в OpenSSL, эксплуатируемое при проверке ..."  +/
Сообщение от Аноним (63), 02-Ноя-22, 06:57 
Точно известно? А через неделю не забудешь? Через месяц? А коллегам не забудешь рассказывать?

А для простых переборов всех элементов массива через foreach проверку во время выполнения можно не проводить

Ответить | Правка | Наверх | Cообщить модератору

82. "Переполнение буфера в OpenSSL, эксплуатируемое при проверке ..."  –2 +/
Сообщение от n00by (ok), 02-Ноя-22, 09:33 
Если ограничиться фрагментом из патча и не вникать в остальной код, то written_out инкрементируется на 1. Не понятно, зачем там вообще >. Достаточно было бы ==. В смысле, вместо > < <= >= == != выбор сужается до 2-х вариантов сравнения == или !=, и некорректный сразу не проходит тесты. Такому подходу учит концепция итераторов в плюсах, где operator>() может быть не определён.
Ответить | Правка | К родителю #61 | Наверх | Cообщить модератору

126. "Переполнение буфера в OpenSSL, эксплуатируемое при проверке ..."  +1 +/
Сообщение от Аноним (126), 02-Ноя-22, 17:10 
> Не понятно, зачем там вообще >. Достаточно было бы ==.

Ты про defensive programming слышал? Опыт программирования, особенно на языках типа C, приучает к такому стилю. Сейчас там может и достаточно было бы ==, а завтра придёт следующий, и за итерацию сделает ++ дважды, а проверку забудет поправить. Поэтому >=.

> Такому подходу учит концепция итераторов в плюсах, где operator>() может быть не определён.

Итератор и int -- это разные вещи, и обращаться с ними надо по-разному.

Ответить | Правка | Наверх | Cообщить модератору

141. "Переполнение буфера в OpenSSL, эксплуатируемое при проверке ..."  –1 +/
Сообщение от Аноним (141), 03-Ноя-22, 04:08 
> Ты про defensive programming слышал?

ты на ник его посмотри и не задавай глупых вопросов

Ответить | Правка | Наверх | Cообщить модератору

145. "Переполнение буфера в OpenSSL, эксплуатируемое при проверке ..."  +1 +/
Сообщение от n00by (ok), 03-Ноя-22, 09:47 
Работает ведь. Особенно зачётно, когда персонаж без имени такое пишет. ;)
Ответить | Правка | Наверх | Cообщить модератору

144. "Переполнение буфера в OpenSSL, эксплуатируемое при проверке ..."  +/
Сообщение от n00by (ok), 03-Ноя-22, 09:29 
>> Не понятно, зачем там вообще >. Достаточно было бы ==.
> Ты про defensive programming слышал?

Я слышал, что господа теоретики очень любят грузить оппонента заумными buzzwords и обсуждать сферических коней в ваккуме. И видел вот прям сейчас, что на практике > привел к ошибке, которой бы не было при указанном мной подходе. И висела эта ошибка джва года.

> Сейчас там может и достаточно было бы
> ==, а завтра придёт следующий, и за итерацию сделает ++ дважды,
> а проверку забудет поправить. Поэтому >=.

Очевидно из кода, что не сделает.

> Итератор и int -- это разные вещи, и обращаться с ними надо по-разному.

Если я написал про отсуствие operator>(), наверное, я немного понимаю, что такое итератор. А если не понятно, что итератор приучает машинально писать везде ++i вместо i++, а в сложных случаях, когда это действительно надо, приходится задумываться и избегать вот таких ошибок, так пишите про это прямо.

Ответить | Правка | К родителю #126 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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