The OpenNET Project / Index page

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



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

Оглавление

Проект LLVM развивает средства для безопасной работы с буферами в C++, opennews (?), 06-Окт-22, (0) [смотреть все]

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


2. "Проект LLVM развивает средства для безопасной работы с буфер..."  –1 +/
Сообщение от Аноним (2), 06-Окт-22, 11:07 
> std::vector будет отслеживаться обращение за пределы выделенной области памяти, в случае выявления которого программа будет аварийно завершаться.

Это ещё зачем, глупых растоманов наслушались? vector и так кидает экспешон при выходе за допустимый диапазон индексов.

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

3. "Проект LLVM развивает средства для безопасной работы с буфер..."  +12 +/
Сообщение от Анонимemail (3), 06-Окт-22, 11:08 
На этапе компиляции.
Ответить | Правка | Наверх | Cообщить модератору

46. "Проект LLVM развивает средства для безопасной работы с буфер..."  +/
Сообщение от bOOster (ok), 06-Окт-22, 13:05 
И после таких вот заявлений растоманы хотят кого-то уверить что у них код быстрее чем сишный работает? При наличии постоянных проверок в рантайме.
Не смешите.
Ответить | Правка | Наверх | Cообщить модератору

59. "Проект LLVM развивает средства для безопасной работы с буфер..."  +/
Сообщение от анонимус (??), 06-Окт-22, 13:40 
Так проверки в дебаге. Код может быть местми быстрее из-за большего скоупа для анализа конпелятором. Синтетика иногда тоже такие результаты показывает. Тут главное что есть гарантии валидности
Ответить | Правка | Наверх | Cообщить модератору

129. "Проект LLVM развивает средства для безопасной работы с буфер..."  –3 +/
Сообщение от Аноним (129), 06-Окт-22, 19:15 
> Так проверки в дебаге

Когда индекс массива зависит от внешних данных (а это чуть менее, чем всегда), предлагаешь пользователям поставлять только дебаг-версии?!

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

135. "Проект LLVM развивает средства для безопасной работы с буфер..."  +2 +/
Сообщение от Tita_M (ok), 06-Окт-22, 19:59 
Comdiv, предлагает такое решение этой проблемы для будущих языков
http://safe-prog-lang.blogspot.com/2016/12/correctness-state...
Ответить | Правка | Наверх | Cообщить модератору

175. "Проект LLVM развивает средства для безопасной работы с буфер..."  –2 +/
Сообщение от bOOster (ok), 07-Окт-22, 08:10 
Костыль на костыле, костылем погоняет.
А по факту - опыт и чуть больше внимательности.
Ответить | Правка | Наверх | Cообщить модератору

181. "Проект LLVM развивает средства для безопасной работы с буфер..."  +5 +/
Сообщение от Брат Анон (ok), 07-Окт-22, 08:34 
Понятно. Ответить нечего. Правда, там его вариант Оберона по скорости почти не проигрывает чистому Си. А надёжность растёт существенно.

https://vostok-space.blogspot.com/2022/09/benchmark-.html#more

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

188. "Проект LLVM развивает средства для безопасной работы с буфер..."  –2 +/
Сообщение от bOOster (ok), 07-Окт-22, 09:23 
> Понятно. Ответить нечего. Правда, там его вариант Оберона по скорости почти не
> проигрывает чистому Си. А надёжность растёт существенно.
> https://vostok-space.blogspot.com/2022/09/benchmark-.html#more

Где это в повседневной эксплуатации? Кнут тоже аналитику алгоритмов проводил - только по статистике худший случай на  реальных данных из жизни появляется практически в 2 раза чаще чем лучший.

Та ерунда которая изучается в статье -
#include <stdlib.h>

int add(int a, int b) {
  if (__builtin_sadd_overflow(a, b, &a)) {
    abort();
  }
  return a;
}

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

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

227. "Проект LLVM развивает средства для безопасной работы с буфер..."  +3 +/
Сообщение от Прохожий (??), 08-Окт-22, 08:29 
У тебя с логическим мышлением явные проблемы. Причём здесь алгоритмы, до ошибок в программах?
Ответить | Правка | Наверх | Cообщить модератору

189. "Проект LLVM развивает средства для безопасной работы с буфер..."  –4 +/
Сообщение от bOOster (ok), 07-Окт-22, 09:40 
> Понятно. Ответить нечего. Правда, там его вариант Оберона по скорости почти не
> проигрывает чистому Си. А надёжность растёт существенно.
> https://vostok-space.blogspot.com/2022/09/benchmark-.html#more

Кстати, С++ в силу своей специфики конструктор/деструктор много безопаснее чем чистый С - так как заставляет вспомнить в каком месте нужно освободить выделенную память. И это глупость со стороны что Linux что BSD - не принимать в ядро модули на C++. Почему? потому что на MacOSX есть возможность писать kext на C++, а система стабильнее даже FreeBSD при том что FreeBSD обычно используется для постоянно-работающего определенного программного обеспечения (серверное применение) а вот MacOSX нет - пользователь может делать на нем что хочет, про Linux даже упоминать не стоит.

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

255. "Проект LLVM развивает средства для безопасной работы с буфер..."  +3 +/
Сообщение от Брат Анон (ok), 10-Окт-22, 08:24 
> Кстати, С++ в силу своей специфики конструктор/деструктор много безопаснее чем чистый С

Программист вообще не должен думать, когда бы ему память получить, а когда освободить. Ручное управление памятью -- зло.


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

256. "Проект LLVM развивает средства для безопасной работы с буфер..."  –2 +/
Сообщение от bOOster (ok), 10-Окт-22, 09:32 
>> Кстати, С++ в силу своей специфики конструктор/деструктор много безопаснее чем чистый С
> Программист вообще не должен думать, когда бы ему память получить, а когда
> освободить. Ручное управление памятью -- зло.

Вот это бреднятина, если ты работаешь в 1C, и всяким фронтендом тогда да, но это не программисты - это ремесленники. Но если ты работаешь с ядром операционки или разрабатываешь библиотеки низкого уровня для ремесленников - тогда нет. Программист таких вещей четко должен понимать что и где выделять и удалять.

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

262. "Проект LLVM развивает средства для безопасной работы с буфер..."  –2 +/
Сообщение от Аноним (-), 12-Окт-22, 12:47 
> Программист вообще не должен думать, когда бы ему память получить, а когда
> освободить. Ручное управление памятью -- зло.

И ножи запретить, ими же порезаться можно.

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

80. "Проект LLVM развивает средства для безопасной работы с буфер..."  +4 +/
Сообщение от YetAnotherOnanym (ok), 06-Окт-22, 15:03 
Лучше постоянные проверки в рантайме, чем крвх или взлом.
Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

88. "Проект LLVM развивает средства для безопасной работы с буфер..."  +/
Сообщение от bOOster (ok), 06-Окт-22, 15:55 
> Лучше постоянные проверки в рантайме, чем крвх или взлом.

Насмешил - имхо rust будут ломать чаще.

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

123. "Проект LLVM развивает средства для безопасной работы с буфер..."  +2 +/
Сообщение от Аноним (123), 06-Окт-22, 17:47 
Он для этого и создан если кто не понял. Притянул из интернета пару гигабайт зависимостей для сборки и вуаля. А синтаксис и уровень программистов как-раз распологает к быстрому и незатруднительному ознакомлению со сторонним кодом. Для дураков безопасТно вобщем, в лучших традициях стадостроения.
Ответить | Правка | Наверх | Cообщить модератору

130. "Проект LLVM развивает средства для безопасной работы с буфер..."  +4 +/
Сообщение от Аноним (130), 06-Окт-22, 19:19 
>Притянул из интернета пару гигабайт зависимостей для сборки и вуаля

Можно притянуть локально. Кто мешает?

>Для дураков безопасТно вобщем, в лучших традициях стадостроения.

А мне кажется, что у вас приступ "НИНУЖНА", ибо в плюсах нет нормального менеджера, а значит и у других не должно быть.

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

180. "Проект LLVM развивает средства для безопасной работы с буфер..."  +/
Сообщение от bOOster (ok), 07-Окт-22, 08:23 
>>Притянул из интернета пару гигабайт зависимостей для сборки и вуаля
> Можно притянуть локально. Кто мешает?
>>Для дураков безопасТно вобщем, в лучших традициях стадостроения.
> А мне кажется, что у вас приступ "НИНУЖНА", ибо в плюсах нет
> нормального менеджера, а значит и у других не должно быть.

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

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

212. "Проект LLVM развивает средства для безопасной работы с буфер..."  +1 +/
Сообщение от Аноним (212), 07-Окт-22, 16:32 
Даже если это так, то какая претензия тогда к расту? Скачав библиотеку для крестов с гитхаба тоже можно получить уязвимость.
Ответить | Правка | Наверх | Cообщить модератору

215. "Проект LLVM развивает средства для безопасной работы с буфер..."  –1 +/
Сообщение от bOOster (ok), 07-Окт-22, 16:57 
> Даже если это так, то какая претензия тогда к расту? Скачав библиотеку
> для крестов с гитхаба тоже можно получить уязвимость.

Да дело в том что раст ремесленники сродни 1С программистам - зачастую не знают что такое бинарный поиск.

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

229. "Проект LLVM развивает средства для безопасной работы с буфер..."  –1 +/
Сообщение от Прохожий (??), 08-Окт-22, 08:33 
Исходя из чего это следует, о Великий воин супротив Раста?
Ответить | Правка | Наверх | Cообщить модератору

228. "Проект LLVM развивает средства для безопасной работы с буфер..."  +/
Сообщение от Прохожий (??), 08-Окт-22, 08:30 
На основе чего ты пришёл к такому туповатому выводу?
Ответить | Правка | К родителю #88 | Наверх | Cообщить модератору

133. "Проект LLVM развивает средства для безопасной работы с буфер..."  +/
Сообщение от eganru (?), 06-Окт-22, 19:52 
К большому сожалению будут постоянные ошибки в алгоримах, которые точно также приводят к печальным последствиям.

В реальном мире жестко заданная учетка встречается чаще чем переполнение буфера.

А что методы для проверки в рантайме добавили - ничего плохого в этом нет. Хочешь попроще? - пишешь с проверками.

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

138. "Проект LLVM развивает средства для безопасной работы с буфер..."  +2 +/
Сообщение от Аноним (130), 06-Окт-22, 20:17 
>В реальном мире жестко заданная учетка встречается чаще чем переполнение буфера.

А можно какие-нибудь цифры или исследования? Просто анализ от Майкрософта показал, что около 70% уязвимостей происходят из-за проблем с памятью, в том числе и с переполнением буфера.

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

176. "Проект LLVM развивает средства для безопасной работы с буфер..."  +/
Сообщение от bOOster (ok), 07-Окт-22, 08:12 
Майкрософт это не про программирование - это про бизнес. И применять эти сведения к open-source программированию вообще никак нельзя.
Ответить | Правка | Наверх | Cообщить модератору

213. "Проект LLVM развивает средства для безопасной работы с буфер..."  +/
Сообщение от Аноним (212), 07-Окт-22, 16:35 
А в open source какие-то особенные люди, которые не допускают ошибок с памятью и при этом отказываются работать с корпорациями? Я бы наоборот допустил, что средний корпоративный разработчик пишет код лучше среднего open source разработчика.
Ответить | Правка | Наверх | Cообщить модератору

214. "Проект LLVM развивает средства для безопасной работы с буфер..."  –1 +/
Сообщение от bOOster (ok), 07-Окт-22, 16:49 
> А в open source какие-то особенные люди, которые не допускают ошибок с
> памятью и при этом отказываются работать с корпорациями? Я бы наоборот
> допустил, что средний корпоративный разработчик пишет код лучше среднего open source
> разработчика.

А серое вещество включить? Или на Майкрософт работаешь? Open source - майнтейнер и пользователи проекта заинтересованы в надежной работе решения, а не выкинуть в его в срок... "А дальше поправим"

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

226. "Проект LLVM развивает средства для безопасной работы с буфер..."  –2 +/
Сообщение от Прохожий (??), 08-Окт-22, 08:26 
Тебе бы самому не помешало включать серое вещество. Что МС, что другие корпорации гораздо сильнее заинтересованы в качестве продукта (конкуренция, батенька, она такая: будешь делать шлак - клиенты разбегутся), чем программисты опенсоурса, у которых, если подумать, нет абсолютно никакой мотивации, чтобы писать качественный код, кроме чувства собственной важности (ЧСВ). Пользователи опенсорса часто банальные халявщики, и даже если они заинтересованы в качестве, то редко готовы его поддерживать денежкой. А одним ЧСВ (типовой программист опенсорса) долго сыт не будешь.
Ответить | Правка | Наверх | Cообщить модератору

183. "Проект LLVM развивает средства для безопасной работы с буфер..."  +2 +/
Сообщение от Брат Анон (ok), 07-Окт-22, 08:38 
> Лучше постоянные проверки в рантайме, чем крвх или взлом.

А ещё лучше -- железо спроектированное под эти проверки, и язык, который на 146% использует эти проверки. Например, Оберон.

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

263. "Проект LLVM развивает средства для безопасной работы с буфер..."  –2 +/
Сообщение от Аноним (-), 12-Окт-22, 14:20 
> А ещё лучше -- железо спроектированное под эти проверки,

Осталось придумать где его такое взять. Интел вообще пытался, но - не зашло.

> и язык, который на 146% использует эти проверки. Например, Оберон.

Rust с другого бока зашел, ему особое железо толком и не надо, просто компил тайм проверки всего чего можно да разумная аннотация намерений кодера. В целом достаточно разумное сочетание. Синтаксис конечно с закорючками но тут уж аннотация намерений програмера компилеру и анализатору либо есть либо нет.

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

278. "Проект LLVM развивает средства для безопасной работы с буфер..."  +1 +/
Сообщение от Брат Анон (ok), 14-Окт-22, 08:28 
>> А ещё лучше -- железо спроектированное под эти проверки,
> Осталось придумать где его такое взять. Интел вообще пытался, но - не
> зашло.

Нет, Интел даже не пытался. За тебя уже всё придумали. Просто бери и пользуйся.


>> и язык, который на 146% использует эти проверки. Например, Оберон.
> Rust с другого бока зашел, ему особое железо толком и не надо,

Нет. Нет железа под язык. Значит нет никакой безопасности.

> просто компил тайм проверки всего чего можно да разумная аннотация намерений
> кодера.

Нет. Если железо кривое -- это всё для самоуспокоения. От Мельтдауна никакой раст не спасёт. Даже Оберон бесполезен.

> В целом достаточно разумное сочетание. Синтаксис конечно с закорючками но
> тут уж аннотация намерений програмера компилеру и анализатору либо есть либо
> нет.

Нет. Вырвиглазный синтаксис помноженный на штатную возможность перехода с алгоритмического уровня на аппаратный. Оставьте себе.

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

279. "Проект LLVM развивает средства для безопасной работы с буфер..."  +/
Сообщение от alexhz (?), 26-Дек-22, 00:38 
Железо такое есть, эльбрус называется. Там есть специальный режим, в котором процессор изображает из себя виртуальную машину, работающую по спецификации языка C. Прощай выход за границы буферов, приведение несовместимых типов и прочее-прочее. Недостаток - даже в железном исполнении есть потеря производительности, местами более 40%.
Ответить | Правка | К родителю #263 | Наверх | Cообщить модератору

280. "Проект LLVM развивает средства для безопасной работы с буфер..."  +/
Сообщение от alexhz (?), 26-Дек-22, 00:43 
Хотя чаще до 20%. Ну и ещё проблема, код с хаками не работает. В итоге, только сравнительно недавно смогли заставить в этом режиме работать стандартную GNU libc.
Ответить | Правка | Наверх | Cообщить модератору

221. "Проект LLVM развивает средства для безопасной работы с буфер..."  –1 +/
Сообщение от anonimous (?), 07-Окт-22, 22:18 
>vector
>На этапе компиляции.

std::vector<T,Allocator>::at
Returns a reference to the element at specified location pos , with bounds checking.

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

4. "Проект LLVM развивает средства для безопасной работы с буфер..."  +4 +/
Сообщение от topin89 (ok), 06-Окт-22, 11:10 
Только по `.at(i)`, и этой функцией мало кто пользуется.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

6. "Проект LLVM развивает средства для безопасной работы с буфер..."  +1 +/
Сообщение от null (??), 06-Окт-22, 11:14 
а вы берете указатель от .data() и дальше используете арифметику с указателем?
Ответить | Правка | Наверх | Cообщить модератору

8. "Проект LLVM развивает средства для безопасной работы с буфер..."  +12 +/
Сообщение от anonymous (??), 06-Окт-22, 11:20 
operator[] вам о чем-нибудь говорит?
Ответить | Правка | Наверх | Cообщить модератору

12. "Проект LLVM развивает средства для безопасной работы с буфер..."  +2 +/
Сообщение от null (??), 06-Окт-22, 11:24 
зачем, если есть at?
Ответить | Правка | Наверх | Cообщить модератору

19. "Проект LLVM развивает средства для безопасной работы с буфер..."  +13 +/
Сообщение от Анонимemail (19), 06-Окт-22, 11:38 
зачем нужен ты, если есть GPT-3?
Ответить | Правка | Наверх | Cообщить модератору

41. "Проект LLVM развивает средства для безопасной работы с буфер..."  +/
Сообщение от trolleybus (?), 06-Окт-22, 12:41 
Согласен. Null не нужен, столько багов из-за него.
Ответить | Правка | Наверх | Cообщить модератору

84. "Проект LLVM развивает средства для безопасной работы с буфер..."  +1 +/
Сообщение от Аноним (84), 06-Окт-22, 15:41 
Давайте разыминуем анона выше !
Ответить | Правка | Наверх | Cообщить модератору

264. "Проект LLVM развивает средства для безопасной работы с буфер..."  +/
Сообщение от Аноним (-), 12-Окт-22, 14:41 
> Давайте разыминуем анона выше !

Зачем тебе разыменованный троллейбус?! И что это делает?

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

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

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




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

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