The OpenNET Project / Index page

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



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

"Результаты аудита безопасности библиотек Boost"  +/
Сообщение от opennews (??), 23-Май-24, 09:51 
Фонд OSTIF (Open Source Technology Improvement Fund), созданный с целью усиления защищённости открытых проектов, опубликовал результаты аудита  безопасности библиотек Boost, применяемых во многих проектах на языке  C++. Аудит, который был проведён по заказу OSTIF и Amazon Web Services итальянской компанией Shielder, выявил 7 проблем, из которых одной присвоен средний уровень опасности, а четырём - низкий, две проблемы опубликованы в виде информационных замечаний...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=61233

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

Оглавление

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


5. "Результаты аудита безопасности библиотек Boost"  +4 +/
Сообщение от п00by (?), 23-Май-24, 10:44 
Из отчета:
> Если вы являетесь разработчиком, использующим библиотеки Boost, рекомендуется выполнить строгую проверку входных данных.

А что, можно не проверять?

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

6. "Результаты аудита безопасности библиотек Boost"  +16 +/
Сообщение от Fracta1L (ok), 23-Май-24, 10:57 
Можно, конечно. Кто тебя заставит?
Ответить | Правка | Наверх | Cообщить модератору

16. "Результаты аудита безопасности библиотек Boost"  +1 +/
Сообщение от п00by (?), 23-Май-24, 11:47 
Обычно в документации к функциям программных библиотек отражают необходимость верификации/очистки входных данных. Иначе будет беспорядок. Раньше были случаи, когда за корректность данных отвечали сами функции. Например, библиотеки ASA или SSP. Но это совершенно неудобно - анализировать множество кодов при некорректном завершении (можно, кстати, перепутать, какой код что означает). Считаю, что незачем нагружать функции несвойственными процедурами. Их цель - корректно отрабатывать алгоритмы обработки при правильных входных данных.
Ответить | Правка | Наверх | Cообщить модератору

38. "Результаты аудита безопасности библиотек Boost"  –1 +/
Сообщение от Sw00p aka Jerom (?), 23-Май-24, 14:21 
> Считаю, что незачем нагружать функции несвойственными процедурами. Их цель - корректно отрабатывать алгоритмы обработки при правильных входных данных.

А о допустимых значениях аргументов функции где узнать? В документации? Отлично.
Таким же макаром, зачем вообще нагружать аргументы этих функции типами? Функция работает с целыми числами, так и запишем в документации.

пс: типы ведь проверяет компилятор (и кусок рантайма) :)

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

113. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от srgazh (ok), 24-Май-24, 17:47 
Да документация это хорошо. Но лучше провести тест как поведёт себя функция. А если функция ожидает сам тип? Тут можно написать статью про тестирование.... Ааа зачем вам тесты забыл, покажем типа работает, получим денег. Ве не с бюджетной организации?
Ответить | Правка | Наверх | Cообщить модератору

119. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Sw00p aka Jerom (?), 25-Май-24, 00:18 
> Ааа зачем вам тесты

Ну да фаззинг тесты в приложении к документации, повторяю, типы зачем тогда?

> Ве не с бюджетной организации?

Нет, из "карманно-алэгархической" :)

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

120. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от фаззер (?), 25-Май-24, 14:46 
Вот кстати libtorrent использует boost и там применяют фаззинг-тесты, вопрос качества этих тестов остается отарытым.
Ответить | Правка | Наверх | Cообщить модератору

122. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Sw00p aka Jerom (?), 25-Май-24, 15:47 
> вопрос качества этих тестов остается отарытым.

как и обычных тестов и всяких санитайзеров и мемликфайндеров. Ну че готовы писать документацию (талмуды)?


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

44. "Результаты аудита безопасности библиотек Boost"  +1 +/
Сообщение от Анон666 (?), 23-Май-24, 15:22 
>Их цель - корректно отрабатывать алгоритмы обработки при правильных входных данных

Ага, а цель программы - обрабатывать данные юзера, вот пусть он сам свои входные данные и проверяет. Классный подход, как жаль, что такого никогда не будет.

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

63. "Результаты аудита безопасности библиотек Boost"  –2 +/
Сообщение от Аноним (63), 23-Май-24, 17:23 
Входные данные предлагается очищать перед их правомерным использованием и только затем предъявлять функциям обработки в адекватном виде.

Не нужно здесь выкатывать свои измышления, а потом пафосно их опровергать.

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

73. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Sw00p aka Jerom (?), 23-Май-24, 18:02 
> Не нужно здесь выкатывать свои измышления, а потом пафосно их опровергать.

типы тогда зачем нужны?

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

121. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от фаззер (?), 25-Май-24, 14:50 
мне на собесе такой тест давали.
приложение не проверяет входные данные из полей и вам нужно разработать тесты чтобы в итоге работала сумма двух полей без ошибок. и назвать все возможные комбинации (то есть произнести). мосбиржа.
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

50. "Результаты аудита безопасности библиотек Boost"  –4 +/
Сообщение от Аноним (50), 23-Май-24, 15:51 
A kak vi predlagaete togda postupat‘? Dva raza proveryat‘ bufer? Tak eto medlenno, bistree srazu parsit‘ i reshat‘, pravilniye dannie ili net.
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

90. "Результаты аудита безопасности библиотек Boost"  +2 +/
Сообщение от Карлос Сношайтилис (ok), 23-Май-24, 21:40 
Если тебя держат в подвале, где нет воды и нормальной клавиатуры, моргни два раза
Ответить | Правка | Наверх | Cообщить модератору

91. "Результаты аудита безопасности библиотек Boost"  +3 +/
Сообщение от Аноним (91), 23-Май-24, 22:20 
Ну что ты, чел просто слаку поставил
Ответить | Правка | Наверх | Cообщить модератору

97. "Результаты аудита безопасности библиотек Boost"  +1 +/
Сообщение от xtotec (ok), 24-Май-24, 02:45 
И что - по ходу установки забыл как русские буквы выглядят?
Ответить | Правка | Наверх | Cообщить модератору

89. "Результаты аудита безопасности библиотек Boost"  +1 +/
Сообщение от Аноним (89), 23-Май-24, 21:24 
> Можно, конечно. Кто тебя заставит?

Можно всё. Но потом прилетит обратка.

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

124. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от aname (?), 29-Май-24, 10:47 
Если написано на расте, то да (тег "сарказм", надеюсь, ставить не надо?)
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

7. "Результаты аудита безопасности библиотек Boost"  +1 +/
Сообщение от Аноним (7), 23-Май-24, 10:57 
>Переполнение стека в библиотеке Boost.Regex × 3

Зачем нужен сабж при наличии std::regex, ctre и кучи специализированных библиотек регулярок?

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

10. "Результаты аудита безопасности библиотек Boost"  +6 +/
Сообщение от Аноним (10), 23-Май-24, 11:08 
> Зачем нужен сабж при наличии std::regex

std::regex взят прямо из boost с минимумом изменений. Как и большая часть остальный нововведений стандартной библиоткки.

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

12. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (12), 23-Май-24, 11:25 
Почему после этого их не выкинуть из современных версий Boost?
Ответить | Правка | Наверх | Cообщить модератору

14. "Результаты аудита безопасности библиотек Boost"  +4 +/
Сообщение от НяшМяш (ok), 23-Май-24, 11:40 
Как раз поэтому - Boost, как внешнюю библиотеку, обновить проще, чем стд.
Ответить | Правка | Наверх | Cообщить модератору

20. "Результаты аудита безопасности библиотек Boost"  +3 +/
Сообщение от Аноним (20), 23-Май-24, 12:02 
Нет, проще не иметь дела с boost вообще там, где он не требуется. Тогда его и обновлять не надо, а только компилятор и станд. библиотеку, которые всё равно надо обновлять: для всех самых вкусных constexpr-фич (ranges-кхе-кхе) потребуется самая последняя версия языка с самыми последними экспериментальными фичами.
Ответить | Правка | Наверх | Cообщить модератору

94. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от penetrator (?), 23-Май-24, 23:35 
а где он требуется?
Ответить | Правка | Наверх | Cообщить модератору

114. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (114), 24-Май-24, 18:29 
Буст, или Ranges? Буст - ну у него полно уникальных либ, опережающих по фичам и качеству не-Буст-аналоги. Жаль, что многие на другие бусто-либы завязаны. Ranges? Ну представь, у тебя 5 массивов, в каждом куча string_view, из каждого из них нужно сформировать строку путём подстановки в шаблон. Нужно оценить максимальный размер выходной строки чтобы под неё выделить буфер. С помощью ranges ты можешь во время компиляции выбрать длиннейшие строки из каждого массива, после чего можешь так же во время компиляции подставить их в шаблон и взять его длину. На сишке или старых плюсах ты бы ручками выбирал строку максимальной длины максимальную длину, и отдельно длину шаблона, и ручками же считал, уделяя особое внимание нулевым байтам. А потом, при добавлении очередной строки, делал бы круглые глаза на "сишные дырени".
Ответить | Правка | Наверх | Cообщить модератору

21. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (21), 23-Май-24, 12:03 
Проще ли?
Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

62. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Да ну нахер (?), 23-Май-24, 17:14 
Тогда зачем с самого начала было совать это в std?
Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

76. "Результаты аудита безопасности библиотек Boost"  +1 +/
Сообщение от Аноним (76), 23-Май-24, 18:11 
Т.е. потому что это помойка из багов и гогнокода. Ну да, всё так.
Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

13. "Результаты аудита безопасности библиотек Boost"  +2 +/
Сообщение от Аноним (12), 23-Май-24, 11:27 
Значит ли жто, что значительная часть реализаций std::regex страдает теми же проблемами?
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

75. "Результаты аудита безопасности библиотек Boost"  –2 +/
Сообщение от Аноним (76), 23-Май-24, 18:07 
Ну... нет, STL-ые варианты редко совместимы с бустовыми. regex в частности
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

18. "Результаты аудита безопасности библиотек Boost"  +1 +/
Сообщение от Аноним (18), 23-Май-24, 12:00 
Для программ, написанных для <(C++11), например. И компиляторов, умеющих только 98 и 03.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

23. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (20), 23-Май-24, 12:05 
А что сразу не на Си, зачем какие-то ++, на Си писать надо, как Линус завещал :)
Ответить | Правка | Наверх | Cообщить модератору

95. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (95), 24-Май-24, 01:56 
> Зачем нужен сабж при наличии std::regex, ctre и кучи специализированных библиотек регулярок?

Затем, что Boost.Regex быстрее std::regex (в любом из популярных компиляторов).

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

115. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (114), 24-Май-24, 18:30 
ctre быстрее обоих.
Ответить | Правка | Наверх | Cообщить модератору

116. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (114), 24-Май-24, 18:30 
а PCRE вообще умеет в JIT
Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

8. "Результаты аудита безопасности библиотек Boost"  +2 +/
Сообщение от Аноним (8), 23-Май-24, 10:57 
Почему не asio?
Ответить | Правка | Наверх | Cообщить модератору

11. "Результаты аудита безопасности библиотек Boost"  +1 +/
Сообщение от Аноним (11), 23-Май-24, 11:17 
Почему не asio что?
Ответить | Правка | Наверх | Cообщить модератору

19. "Результаты аудита безопасности библиотек Boost"  +2 +/
Сообщение от Аноним (18), 23-Май-24, 12:02 
Аноним имел ввиду, почему Boost.ASIO не проверяли?
Ответить | Правка | Наверх | Cообщить модератору

24. "Результаты аудита безопасности библиотек Boost"  +3 +/
Сообщение от Аноним (24), 23-Май-24, 12:38 
Не знаю
Ответить | Правка | Наверх | Cообщить модератору

33. "Результаты аудита безопасности библиотек Boost"  +3 +/
Сообщение от Аноним (33), 23-Май-24, 13:59 
> Не знаю

а кто знает, если не эксперты опенет?

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

9. "Результаты аудита безопасности библиотек Boost"  +2 +/
Сообщение от Пряник (?), 23-Май-24, 11:03 
Свалка лишних зависимостей.
Ответить | Правка | Наверх | Cообщить модератору

47. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (47), 23-Май-24, 15:26 
Вот, кстати, да: небезопасный код на расте следует искать в первую очередь именно в его стандартной библиотеке. Скидывайтесь на аудит.
Ответить | Правка | Наверх | Cообщить модератору

17. "Результаты аудита безопасности библиотек Boost"  +2 +/
Сообщение от Аноним (20), 23-Май-24, 11:58 
>boost::dll

Отличная вещь могла бы быть, но
* завязанность на остальные буст-либы
* header-only-ness
* завязанность на бустовые типы вместо std::
* работа через парсинг бинари, деманглинг всех символов, и уже поиск среди демангленных

портит всю малину.

Касательно деманглинга, они сказали, что у них была идея сделать наоборот

https://www.boost.org/doc/libs/1_66_0/doc/html/boost_dll/des...

но типа

>нет надёжного способа получить mangled имя символа из нутра компилятора во время компиляции

- это плохая отмазка, потому что когда стоит такая задача, то надо генерить не для конкретного компилятора, а вообще все возможные варианты, и их проверять, и генерить как раз надо силами constexpr C++-кода, а не от компилятора получать.

Мне как раз нужна реализация их гипотетического

> std::string mangled_name = boost::dll::magic_mangle(boost::foo);

, но чтобы
* явно генерила mangled-имена для всех компиляторов
* в compile-time

то есть

consteval std::array<std::string_view> mangled_names{
    boost::dll::magic_mangle<boost::foo, boost::dll::compiler::msvc>(),
    boost::dll::magic_mangle<boost::foo, boost::dll::compiler::gcc>(),
};

Разумеется, ещё лучше бы было, если бы она генерила класс, который

1. генерит все варианты манглинга функции для платформы в виде таблицы enum -> результат манглинга
2. первым делом проверяет "свой" компилятор
3. далее - все остальные компиляторы в порядке убывания частоты использования
4. кэширует значение enumа для сдетектированного компилятора
5. при дальнейших поисках функций в этой либе ищет сразу по схеме манглинга сдектектированного компилятора.

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

80. "Результаты аудита безопасности библиотек Boost"  –2 +/
Сообщение от Аноним (80), 23-Май-24, 19:15 
> генерить не для конкретного компилятора, а вообще все возможные варианты

В том числе и те, которые ещё не изобретены? Положи машину времени где взял и шатай континуум своими конпеляциями!

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

26. "Результаты аудита безопасности библиотек Boost"  –3 +/
Сообщение от Аноним (26), 23-Май-24, 13:08 
Си плюс-плюсники напряглись. Программируешь на Си плюс-плюс - вляпаешся в буст.
Ответить | Правка | Наверх | Cообщить модератору

35. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (33), 23-Май-24, 14:00 
> Си плюс-плюсники напряглись. Программируешь на Си плюс-плюс - вляпаешся в буст.

либо в кути

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

51. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (51), 23-Май-24, 15:55 
Не обязательно, есть ещё рандомные гитхабовские поделки
Ответить | Правка | Наверх | Cообщить модератору

59. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (18), 23-Май-24, 16:47 
Qt - вещь животворящая.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

67. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от nox. (?), 23-Май-24, 17:27 
Не нравится? У оригинального Qt как минимум 3 форка.
Ответить | Правка | Наверх | Cообщить модератору

64. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (-), 23-Май-24, 17:25 
Хорошо, а на С какие либы?
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

65. "Результаты аудита безопасности библиотек Boost"  –1 +/
Сообщение от nox. (?), 23-Май-24, 17:25 
Сделал немало проектов на С++, ни разу сабж не использовал. Всегда лучше писать самому.
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

81. "Результаты аудита безопасности библиотек Boost"  –2 +/
Сообщение от Аноним (80), 23-Май-24, 19:17 
> Всегда лучше писать самому.

Ну показывай уже самописанную прошивку для процессора, ядро, компилятор, юзерленд…

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

86. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от nox. (?), 23-Май-24, 20:38 
По вашему, сабж - это "прошивка для процессора, ядро, компилятор, юзерленд"? Не много ли?
Ответить | Правка | Наверх | Cообщить модератору

105. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (-), 24-Май-24, 12:34 
>> Всегда лучше писать самому.
> Ну показывай уже самописанную прошивку для процессора, ядро, компилятор, юзерленд…

В ядре и прошивках сабжу совершенно точно не место.

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

83. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (83), 23-Май-24, 20:32 
Наверное, и ввод-вывод сам писал?
Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

85. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от nox. (?), 23-Май-24, 20:37 
Это - да. И весьма оригинально, кстати.
Ответить | Правка | Наверх | Cообщить модератору

92. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (91), 23-Май-24, 22:21 
В этом комментарии не хватает ссылки на житхаб
Ответить | Правка | Наверх | Cообщить модератору

107. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от InuYasha (??), 24-Май-24, 14:09 
нормальные люди на жидхабе не сидят.
Ответить | Правка | Наверх | Cообщить модератору

117. "Результаты аудита безопасности библиотек Boost"  +1 +/
Сообщение от Аноним (114), 24-Май-24, 18:33 
порядочные люди этнофолизмы не используют.
Ответить | Правка | Наверх | Cообщить модератору

101. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (-), 24-Май-24, 10:35 
Ну то поделитесь опытом. Давайте уже ссылку на проект
Ответить | Правка | К родителю #85 | Наверх | Cообщить модератору

27. "Результаты аудита безопасности библиотек Boost"  +5 +/
Сообщение от Аноним (27), 23-Май-24, 13:16 
Буст не нужен. Почти любая ошибка выдает сообщение на несколько экранов, без бутылки не разобрать про что. Средство должно помогать в работе а не доводить до истерики
Ответить | Правка | Наверх | Cообщить модератору

28. "Результаты аудита безопасности библиотек Boost"  –9 +/
Сообщение от Аноним (28), 23-Май-24, 13:28 
>>> Почти любая ошибка выдает сообщение на несколько экранов, без бутылки не разобрать про что. <<<

просто переходите на Rust

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

36. "Результаты аудита безопасности библиотек Boost"  +2 +/
Сообщение от Аноним (33), 23-Май-24, 14:01 
>>>> Почти любая ошибка выдает сообщение на несколько экранов, без бутылки не разобрать про что. <<<
> просто переходите на Rust

когда в раст завезут ООП - плюсы можно закапывать смело

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

37. "Результаты аудита безопасности библиотек Boost"  +1 +/
Сообщение от Аноним (28), 23-Май-24, 14:14 
>>> когда в раст завезут ООП <<<

ООП не панацея: при композиции проблем меньше чем при наследовании, так что используйте композицию + трейты и будет вам счастье!

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

45. "Результаты аудита безопасности библиотек Boost"  +1 +/
Сообщение от Анон666 (?), 23-Май-24, 15:24 
Ой, измученные ООП мозги исправить почти невозможно. Это как религия.
Ответить | Правка | Наверх | Cообщить модератору

98. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от fuggy (ok), 24-Май-24, 03:19 
Негибкое мышление. Так нужно изучать другие технологии, не всё в одном ООП сидеть.
Ответить | Правка | Наверх | Cообщить модератору

58. "Результаты аудита безопасности библиотек Boost"  –1 +/
Сообщение от Аноним (18), 23-Май-24, 16:41 
А как в этой композиции обеспечить полиморфизм? Я понимаю, что vtable можно и в плоскоСишке ручками прикрутить. Но всё придётся ручками, ручками, а не компилятору поручать. Выразительность страдает.
Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

72. "Результаты аудита безопасности библиотек Boost"  –1 +/
Сообщение от Аноним (28), 23-Май-24, 17:57 
не понял вопрос, что вам нужно! для начала гляньте это и далее: https://doc.rust-lang.org/book/ch17-01-what-is-oo.html
Ответить | Правка | Наверх | Cообщить модератору

39. "Результаты аудита безопасности библиотек Boost"  +1 +/
Сообщение от Аноним (28), 23-Май-24, 14:21 
>>> плюсы можно закапывать смело <<<

Плюсы никогда не умрут, - и это факт! Раст это просто достойная альтернатива которая даёт куда больше гарантий безопастновсти чем С++! Точно также как когда-то появился С++ и он давал больше гарантий безопастности чем С! Так что глупо игнорировать эту альтернативу!

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

46. "Результаты аудита безопасности библиотек Boost"  –1 +/
Сообщение от Анон666 (?), 23-Май-24, 15:25 
>Плюсы никогда не умрут, - и это факт

Будут как фортран сейчас - выбросить хочется, а переписать лень.

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

118. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (83), 24-Май-24, 19:36 
Да вроде фортран выбрасывать желающих нет. Именно свои задачи он хорошо выполняет.
Ответить | Правка | Наверх | Cообщить модератору

40. "Результаты аудита безопасности библиотек Boost"  +1 +/
Сообщение от 12yoexpert (ok), 23-Май-24, 14:25 
шаблоны с синтаксисом раст? лучше сразу застрелиться
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

68. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от nox. (?), 23-Май-24, 17:28 
Rust в Qt уже поддерживается? Нет? Как будет, проинформируйте.
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

71. "Результаты аудита безопасности библиотек Boost"  –2 +/
Сообщение от Аноним (28), 23-Май-24, 17:45 
>>>  Rust в Qt уже поддерживается? Нет? Как будет, проинформируйте. <<<

Cкажем Rust появился в 2015, а С++ в 1985, - вы ведь понимаете что у С++ фора в 30 лет; а теперь представьте какая экосистема будет у Раста через эти самые 30 лет; так что будьте реалистом - всему своё время!

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

84. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от nox. (?), 23-Май-24, 20:35 
Короче, "Либо падишах помрет, либо ишак сдохнет" (с) Ходжа Насреддин. Я точно не доживу.
Ответить | Правка | Наверх | Cообщить модератору

88. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (18), 23-Май-24, 21:04 
Не через 30, а может через 10 появится новый "революцинный" язык... Уже появились и не один.
Ответить | Правка | К родителю #71 | Наверх | Cообщить модератору

102. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (102), 24-Май-24, 10:45 
Сразу пишите - 20 лет. Чтобы денег дали, а проверять не пришли.
Ответить | Правка | Наверх | Cообщить модератору

93. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (91), 23-Май-24, 22:30 
А кто вообще кутэ поддерживает нормально кроме сишки? Только не надо про pyqt, на нем живых проектов целых полтора.
Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

30. "Результаты аудита безопасности библиотек Boost"  –2 +/
Сообщение от Аноним (28), 23-Май-24, 13:33 
>>> Средство должно помогать в работе а не доводить до истерики  <<<

Именно поэтому новичкам (да и не только новичкам) нравится Rust где компилятор это как чувак который сидит с тобой за одним столом и говорит тебе что не так, где именно и как это исправить: С++ до такого как до луны!

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

54. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от eugene_martein (ok), 23-Май-24, 16:12 
В чём проблема прописать ключи компиляции -Wall -Wextra -Wpedantic -Werror и поверх clang-tidy c включённым core guidelines и bugprone-* ? Всё будет ещё круче, чем в Rust, но ты не умеешь в это.
Ответить | Правка | Наверх | Cообщить модератору

57. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (-), 23-Май-24, 16:40 
Проблема в том, что всё что ты предлагаешь, это куча эвристик, которые ничего не гарантируют. Rust формально доказывает свои гарантии. Все его ограничения накладываемые на safe код, это заявка на то, чтобы войти в разряд языков, позволяющих формально доказывать спецификации, но не факт, что она будет принята: раст доказывает не всё, лишь то, что можно описать его системой типов, что с одной стороны минус, с другой стороны это компромисс, который позволяет всё же писать программы на нём.

Rust позволяет больше чем C++ из коробки, и есть десятки проектов, которые пытаются полную формальную верификацию приделать сверху. С идеями типа вот пишешь ты в коде assert, а тебе IDE подчёркивает его зелёным, потому что удалось формально доказать, что он никогда не выстрелит. Или формальные доказательства unsafe кода на соблюдение инвариантов.

И тут ты такой с пачкой эвристик... Ты бы ещё AI предложил бы задействовать для проверки кода на безбажность.

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

70. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (28), 23-Май-24, 17:35 
>>> -Wall -Wextra -Wpedantic -Werror и поверх clang-tidy c включённым core guidelines <<<

в расте лайфтаймы и борроу чекер всё разрулят - аналога этому в С++ просто нет - (некоторые конечно пытаются прикрутить сбоку бантик) - но пока это всё не то!

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

82. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (80), 23-Май-24, 19:26 
Раз проблемы нет, то объясни тогда, почему в наблюдаемой реальности мало кто так делает? Тем более, если таким образом «всё будет ещё круче»?
Ответить | Правка | К родителю #54 | Наверх | Cообщить модератору

112. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от наука_кандидатов (?), 24-Май-24, 17:05 
Сам-то давно так делал? С включенным clang-tidy в принципе невозможно что либо скомпилировать. Орёт ошибками на всё подряд, делаешь по-другому, всё равно орёт.
Ответить | Правка | К родителю #54 | Наверх | Cообщить модератору

34. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (18), 23-Май-24, 14:00 
Тут проблема не в конкретной библиотеке шаблонов. STL тоже хорошо вываливает тонны на экран. Проблема в реализации шаблонной подсистемы в C++. Подозреваю, что реализовано отчасти всё на том же унаследованном старом "добром" препроцессоре.
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

55. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от sabudilovskiyemail (?), 23-Май-24, 16:14 
> Тут проблема не в конкретной библиотеке шаблонов. STL тоже хорошо вываливает тонны
> на экран. Проблема в реализации шаблонной подсистемы в C++. Подозреваю, что
> реализовано отчасти всё на том же унаследованном старом "добром" препроцессоре.

Ложь.

auto SomeFoo(auto x, auto y){
    return x * y + (x + y);
}

Препроцессор ничего не знает о языке. Система шаблонов построена на статическом анализе и гигантском полиморфизме.

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

56. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (18), 23-Май-24, 16:32 
Я сказал предполагаю, а не утверждаю. Но то, что и STL, мягко говоря, не отличается внятностью сообщений о проблемах, это точно.
Ответить | Правка | Наверх | Cообщить модератору

60. "Результаты аудита безопасности библиотек Boost"  +1 +/
Сообщение от Аноним (-), 23-Май-24, 16:50 
Это именно что препроцессор. C++, например, не может проверить эту функцию, насколько она не нарушает установленных правил, пока в неё не будут подставлены конкретные типы, и потом лололо ошибки полезут из этой функции, а не в том месте, где кто-то в качестве аргументов передал значения, для которых операторы + и * не реализованы. Ошибка не в том месте, где кто-то вызвал функцию с неподходящими аргументами, а внутри этой функции, где-то в недрах библиотеки, о которой ты никогда не слышал. Это чистой воды поведение макросов, это именно то за что макросы очень не любят все поголовно, даже те кто ими довольно свободно пользуется: библиотечный код прекращает быть поверхностью API, теперь надо нырять под этот API, и выяснять как оно там работает и почему это оно не принимает аргументы.

Но в C++ на этом принципе вся система типов выстроена. Слово template если ты поинтересуешься переводом, говорит о том же -- это не отсылка к типам переменных, это шаблоны для кода. Но если в нормальных языках, шаблоны для кода называются макросами, то C++ чего-то попутал, и решил что это про типы.

> Препроцессор ничего не знает о языке.

Сишный препроцессор ничего не знает. Но он такой уникальный. Нормальные макроязыки знают о языке немало, отличают статически известные константы, от выражений, чьё значение можно только в рантайме узнать.

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

52. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (51), 23-Май-24, 16:01 
> без бутылки не разобрать про что

Поздравляем, вы постигли тонкости програмизма

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

66. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от ZloySergant (ok), 23-Май-24, 17:25 
>Буст не нужен. Почти любая ошибка выдает сообщение на несколько экранов, без бутылки не разобрать про что. Средство должно помогать в работе а не доводить до истерики

Думать головой не пробовал?

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

69. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от nox. (?), 23-Май-24, 17:29 
> Буст не нужен.

У нас говорили: "Не нравится - сделай лучше".

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

99. "Результаты аудита безопасности библиотек Boost"  –1 +/
Сообщение от Аноним (99), 24-Май-24, 09:47 
Там ещё говорили: "Ешь что дают" и просовывали тебе это на лопате.
Ответить | Правка | Наверх | Cообщить модератору

77. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (76), 23-Май-24, 18:13 
Будто в остальных плюcах как-то иначе. Когда наконец таки везде прикрутят концепты, то мб станет лучше
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

79. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (-), 23-Май-24, 19:12 
>Когда наконец таки везде прикрутят концепты, то мб станет лучше

Ага, "потерпите немножко". Вот-вот станет лучше, вы только маленько потерпите.

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

100. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (99), 24-Май-24, 09:48 
Ну все пойдем на руст, много уже на нём написали?
Ответить | Правка | Наверх | Cообщить модератору

109. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от Аноним (76), 24-Май-24, 14:37 
Оно и так стало лучше уже сейчас, если сравнивать с комиляторами 10-15 летней давности. Но этого мало и процесс улучшения плюсов как раз последние лет 15 идёт достаточно бодро
Ответить | Правка | К родителю #79 | Наверх | Cообщить модератору

108. "Результаты аудита безопасности библиотек Boost"  –1 +/
Сообщение от InuYasha (??), 24-Май-24, 14:17 
Не пользуюсь, но уважаю.
Это настолько гигантский и сложный проект, что это найденный пяток проблем - просто смешно ) Я реально в шоке от такого высокого качества кода.
Ответить | Правка | Наверх | Cообщить модератору

110. "Результаты аудита безопасности библиотек Boost"  –1 +/
Сообщение от Аноним (110), 24-Май-24, 15:17 
с чего ты взял, что проверили каждую строчку? стат.анализатор показал несколько проблем, вот за них и уцепились, чтобы отработать оплаченное
Ответить | Правка | Наверх | Cообщить модератору

123. "Результаты аудита безопасности библиотек Boost"  +/
Сообщение от InuYasha (??), 29-Май-24, 10:37 
с чего ты взял, что я считаю что проверили каждую строчку?
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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