URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 120718
[ Назад ]

Исходное сообщение
"70% проблем с безопасностью в Chromium вызваны ошибками при ..."

Отправлено opennews , 24-Май-20 14:02 
Разработчики проекта Chromium проанализировали 912 опасных и критических уязвимостей, выявленных в  стабильных выпусках Chrome с 2015 года, и пришли к выводу, что 70% из них были вызваны небезопасной работой с памятью (ошибками, при работе с указателями в коде на  C/C++). Половина из данных проблем (36.1%) вызвана обращениями к буферу, после освобождения связанной с ним памяти (use-after-free)...

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


Содержание

Сообщения в этом обсуждении
"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 14:02 
chromium на rust перепишут или выкинут в пользу движка firefox ?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 14:04 
Второе

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 27-Май-20 08:04 
Скорее JS везде понапихают, его там и так уже есть.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено zurapa , 24-Май-20 14:09 
Лучше движок Presto.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено YetAnotherOnanym , 24-Май-20 19:37 
Трайдент лучче!

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 21:19 
зачотная ракета

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 23:51 
Хороший движок, но вроде параллелится так себе, да и не хотят законно открывать. Разработка нелегальными энтуазистами идёт плохо.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 14:12 
Ни то ни другое.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено арсений , 24-Май-20 14:39 
одна вкладка -3GB оперативы
отличные нынче программисты

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Gemorroj , 24-Май-20 17:02 
вы что-то имеете против аджалйла и девопс?
до свидания, собеседование закончено, мы вам перезвоним.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Fracta1L , 24-Май-20 18:07 
У меня в FF вкладки редко за 300 Мб выбираются, лол

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Оно им , 24-Май-20 20:58 
Видимо грядки у всех разные. У меня и на Хроме всё путём. Меньше, чем в фф.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:59 
На компе с 4гиг оперативы вкладка почему-то жрет на 15% больше чем на компе с 16гиг. Показания одного проц.манагера (Process Hacker) на двух системах - 1: Win7x64, 2: Win10x64

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Anonymou , 25-Май-20 00:45 
Ставьте 16гб на 10ку тоже

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено лютый жабби__ , 25-Май-20 09:53 
>одна вкладка -3GB оперативы

Бред ) у меня РАМы 4ГБ, я бы заметил.

Таб Опеннет ест мегабайт 150.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 10:11 
Я и 10 видел. Открываешь какой-нибудь 9гаг или реддит  с тумблером, вот и нет твоих 4гб. А это только 1 таб.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 10:16 
Типичный профан. Причем тут программисты? Ты видел нонешниее количество свойств для одного узла DOM? А дизайнеров видел современных генерящих какое-то бесконечное количество классов? Вот к ним и отправляй зуд. Программисты самое плохое что сделали, так это пул памяти и то это не точно.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 14:56 
Скорее каждую вкладку в doker завернут

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:08 
И в Xen-е поднимут

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:23 
на жаваскрипте. И круг замкнется

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено заминированный тапок , 29-Май-20 13:11 
круг по интересам

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:09 
> chromium на rust перепишут или выкинут в пользу движка firefox ?

Ну что только не сделают, чтобы не нанимать на хорошую зарплату грамотных программистов, а нанимать макакокодеров криворучек, и по результатом которых потом грешить на Си и плакаться, что на xRust долго и дорого переписывать!
Но они таки что-нибудь придумают в эту сторону, раз появляются такие статьи - "это ЖЖЖ неспроста!"


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 23:01 
>> chromium на rust перепишут или выкинут в пользу движка firefox ?
> Ну что только не сделают, чтобы не нанимать на хорошую зарплату грамотных
> программистов, а нанимать макакокодеров криворучек, и по результатом которых потом грешить
> на Си и плакаться, что на xRust долго и дорого переписывать!
> Но они таки что-нибудь придумают в эту сторону, раз появляются такие статьи
> - "это ЖЖЖ неспроста!"

на C/C++ писать грамотно нельзя, запрещено законами физики: или C/C++, или грамотно
https://www.opennet.dev/openforum/vsluhforumID3/120718.html#24


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено виндотролль , 25-Май-20 00:07 
> на хорошую зарплату грамотных программистов
> на Си
> макакокодеров криворучек

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


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Lex , 25-Май-20 08:55 
Самое забавное, что т.н «грамотному сишнику» для его «грамотности в Сях» нередко требуется меньший поток  знаний, чем т.к макакакодеру... да и знания у первых устаревают гораздо медленней( да и получают действительно годные сишники, а не симакаки, ооочень неплохо )

Выучил, что такое указатель - оно и через 20 лет указателем и будет.

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


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 10:46 
bind еще не потерял актуальность, потому что кое-что из ф-ций браузера через function и реализацию "псевдо классов через function" сделано. И чтобы поведение этого поменять для нестандартных случаев надо знать что такое bind. Еще много проектов с кодом 3 летней давности с bind и никто не будт переписывать тысячи строк кода в проекте который приносит деньги, по крайней мере не на проекте в проде и всегда нужны будут люди которые фиксят баги и делают мелкие доработки пока параллельно пишется прототип на новых технологиях.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено виндотролль , 25-Май-20 19:01 
> Выучил, что такое указатель - оно и через 20 лет указателем и
> будет.
> Выучил, что такое контекст выполнения и bind  - и через несколько
> лет за их упоминания уже с собеседования сс.ными тряпками гонят, т.к
> с приходом подобиях классов и стрелочных функций bind-оцирк практически полностью потерял
> актуальность, а то и стал плохой практикой.

Хорошая точка зрения, справедливая.

Пожалуй, правильно будет сказать, что всякие простые закономерности (X получает больше Y) возможны только при фиксированном значении других парамтеров, типа, количество лет опыта.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 10:42 
Если сишник получает меньше, то он плохой сишник. Потому что хорошие сишники пишут движки браузеров, ядро Linux/Windows и прочее. Ты знаком с такими хорошими сишниками?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено виндотролль , 25-Май-20 18:52 
> пишут движки браузеров, ядро Linux/Windows и прочее.

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

Продали продукт → нарезали бюджет между непосредственными авторами продукта и сишниками, работа которых вот так сразу не видна.

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


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 27-Май-20 08:08 
> грамотные сишники получают сильно меньше чем макакокодеры

Значит не такие уж и грамотные, как минимум в управлении проектом и собой. Иначе им было бы западло работать за нигерскую зарплату, для начала. ЧСХ хороших зарплат для них есть. Но да, это надо зад отлепить и пойти поискать, а не просто жрать первое что дали.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Анончик , 25-Май-20 07:03 
Ты размер кодовой базы хромиума видел? В таком огромном проекте, да без использования умных указателей, иметь уязвимости будет любой проект с трижды топовыми цпп разработчиками.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Fracta1L , 25-Май-20 08:57 
Не мешай маням фантазировать про мифических сишников-технобогов)

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 27-Май-20 08:09 
Ну вот посмотришь на тебя и поверишь в то что технобоги бывают. Во всяком случае технопланктон точно бывает.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 07:52 
> Ну что только не сделают, чтобы не нанимать на хорошую зарплату грамотных программистов

Ну так наняли кучу вебмакак, которым вообще лучше бы рассаду выращивать, зато дешево. Казалось бы. Правда потом оказалось что клетку чистить за этими господами надо много, регулярно и это почему-то не дешево.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 14:22 
>> Ну что только не сделают, чтобы не нанимать на хорошую зарплату грамотных программистов
> Ну так наняли кучу вебмакак, которым вообще лучше бы рассаду выращивать, зато
> дешево. Казалось бы. Правда потом оказалось что клетку чистить за этими
> господами надо много, регулярно и это почему-то не дешево.

Я вот, агроном по образованию, для себя выращиваю рассаду дома, гляда на работу современных вэбмакак, я бы даже поливать сорняки их не подпустил!


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 27-Май-20 08:11 
Ну вот с этим они как раз справляются. Поэтому помидоров нет, зато вот вам 2 самосвала полыни. Бесплатно. С доставкой на дом.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено burjui , 26-Май-20 19:45 
По-вашему, это вебмакаки пишут движок браузера на C++? Это что-то новое, никогда о таком не слыхал. Таки как вы себе это представляете?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Отражение луны , 25-Май-20 10:05 
Всегда забавно видеть как джуны (в лучшем случае) рассуждают на тему грамнотности програамистов)

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Оно им , 24-Май-20 23:59 
Не выкинут. Влажные мечты.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 14:12 
> Разработчики проекта Chromium
> Применение языков, рассчитанных на выполнение проверок безопасности работы с памятью во время компиляции (позволит исключить негативное влияние на производительность за счёт избавления от осуществления подобных проверок во время выполнения кода

ну хоть какие-то разрабы, пишущие на C, адекватные, и признают проблему
а то сплошное "да у вас руки кривые, опыта мало, рука не набита, молокосос!"


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 14:24 
Они пишут на си? Я не знал, всю жизнь думал, что там плюсы. Неужели си можно превратить в такого монстра? Да не, вряд ли.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 14:46 
C и есть монстр.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 15:01 
> C и есть монстр.

Разве? Можно примеры?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 15:41 
C++

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 07:53 
Он внезапно не си. Некоторые сишные конструкции в C++ вообще низя.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено VINRARUS , 24-Май-20 16:59 
> > C и есть монстр.
> Разве? Можно примеры?

Linux


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 17:03 
Ммм файл 2 мегабайта являющийся полноценной современной системой с поддержкой всего железа и кучей фреймворков и апи для всего что только можно. Ну ладно в несжатом виде это файл 20мб, но там сплошные нули и выравнивания.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено VINRARUS , 24-Май-20 17:08 
Ты исходник ядра видел хоть раз в жызни?
https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.6.14.ta...

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 17:16 
Я его каждую неделю вижу, а что? 90% кода там амдшные дрова. Я просто привёл пример моего ядра, там даже всякие беспроводные геймпады и диски в юсб хабах вкомпилены, а также 4 штуки разных звуковух и разные отладочные фишечки. Т.е. вообще всё моё железо железо поддерживает.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 07:56 
> Ты исходник ядра видел хоть раз в жызни?

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

И да, попробуйте столько же фич с тем же перфомансом на чем там хотите. Растовики пока смогли только в редокс убогий, походу намеревающийся повторить успехи реактоса, настолько же всем нужен, если не меньше.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено VINRARUS , 25-Май-20 18:27 
>> Ты исходник ядра видел хоть раз в жызни?
> Не мешает опенвртшникам делать из него 900 кило бинарь, при том что
> там куча фич. Более жирный бинарь видите ли на мелкой флехе
> класть некуда - там партиции нарезаны и для кернела своя может
> быть. Больше чем партиция кернел тупо невозможно флешануть. Вот и собирают...

А можна ЯП не путать с машынным кодом?
Ведь и жест с 3х пальцев намногопроще и понятнее за стишок на 20 строк.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 27-Май-20 08:16 
> А можна ЯП не путать с машынным кодом?

А можно уже наконец открыть для себя модульный подход? И при чем тут ЯП? В линухе просто дофига всего опциональное и оформлено как независимые штуки. Можно выбросить или оформить опциональным модулем. При том если совсем выбросили - этот код вообще никуда не попадает. А то что он нужен кому-то другому - может, это хорошо? Да, код поддержки RISCV никогда не будет работать на x86-64. Так его туда и не потащит никто. Его просто не будет. Равно как и драйверов железок уникальных для того RISCV SoC.

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


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 17:54 
> Ммм файл 2 мегабайта являющийся полноценной современной системой с поддержкой всего железа
> Ну ладно в несжатом виде это файл 20мб, но там сплошные нули
> и выравнивания.

https://packages.debian.org/ru/sid/linux-image-5.6.0-1-amd64
> Архитектура    Размер пакета    В установленном виде    Файлы
> amd64    49 083,5 Кб    277 116,0 Кб     [список файлов]

... то ли в дебиане лохи, то ли очередные фантазии почти-трехсотого^W очередного анонима опеннета.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 18:06 
Я уже упоминал за амдшные дрова? Чё ты споришь, я по фактажу говорю. Всё вкомпилено в self-bootable ядро (efi) и initramfs выключен. Даже рейды и всякие сетевые фс есть. Кроме этого ведь, в ядре есть много очень специфичного железа, которое ты никогда не увидишь в дикой природе. Но оно ведь будет валяться мёртвым грузом на диске, если не используется. Это на самом деле верная оценка эффективности си.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 19:00 
> Я уже упоминал за амдшные дрова?
>> 90% кода там амдшные дрова. Я просто привёл пример моего ядра
>>>  файл 2 мегабайта являющийся полноценной современной системой с поддержкой всего железа и кучей фреймворков

Всегда знал, что амд - не железо!

> Чё ты споришь, я по фактажу говорю.

Оторванному от реальности - возможно. В реальности "твое железо" != "все железо".

> Это на самом деле верная оценка эффективности си.

Скорее, эффективности сравнения пальца с жопой.



"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 19:05 
Речь только про использующийся код. Вполне можно оценить, раз всё вкомпилено в самодостаточный файл. С другим железом бинарник будет того же размера, но с иным содержимым.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:35 
> Речь только про использующийся код. Вполне можно оценить, раз всё вкомпилено в самодостаточный файл.

По сравнению с KolibriOS - абсолютно не впечатляет.

И нахваливать С могут разве что луддиты, слаще морковки не едавшие - куча UB-граблей на ровном месте в ЯП, куча просто граблей и грабелек в т.н. "макросах", отсутствие поддержки нормальных библиотек (вставка инклудом кода "либы" целиком в основной - это совсем немного не то) и результирующие костыли, отсутствие неймспейсов, отсутствие поддержки многопоточного и асинхронного программирования, шаблонов/дженериков, слабая типизация.

> С другим железом бинарник будет того же размера, но с иным содержимым.

Просто кинь ссылку на современное пятое ядро для amd64, c дровами для какого-нибудь _реального_ ноута/писюка (на усмотрение анонима) и сжимающееся до 2МБ с помощью gz -9.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:58 
Так xz оно сжимается, какой ещё gz? Gz в 2 раза больше.

Насчёт параллелизма и многопоточности, интел чёт там лет 8 назад хотел осовременить сишку новыми современными подходами к программированию, но не взлетело. Я так понял они теперь решили по плюсам упороться, будто там нет уже готовых альтернатив. Остальное +- макросами разруливается. Ты ещё пожалуйся на типизацию в ассемблере. Очень многое в си является сахаром для ассемблера, собственно он ведь и задумывался как кроссплатформенная альтернатива асму.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 21:51 
> Так xz оно сжимается, какой ещё gz? Gz в 2 раза больше.

Не в два, а где-то в 1⅓. Но ладно, чертяка, уговорил -- пусть будет xz -6 или даже xz -9 и дровина для интеграшки intel, давай уже ссылку.

> Насчёт параллелизма и многопоточности, интел чёт там лет 8 назад хотел осовременить
> сишку новыми современными подходами к программированию, но не взлетело.

Это прекрасно, что не взлетело. Как это отменяет реальность (и перечисленные пункты).
Есть тот же zig, иногда пихаемый тут каким-то анонимом (так я и вышел на него - но в отличие от 95% любительских поделок - оно вполне неплохо рабочее(!), развиваемое(!), с минимальным рантаймом и даже более-менее продуманное в смысле использования наработок теории типов и прочих вещей (это если брать отличия от того же nim, где понадерганно отовсюду понемногу)).
C Tier1
https://ziglang.org/#Support-Table
учитывая, что пилиться это в одно рыло - очень даже неплохой результат. Так - может выглядеть альтернатива.


> Остальное +- макросами разруливается. Ты ещё пожалуйся на типизацию в ассемблере.

Я пожаловался, аноним (ожидаемо) рассказал что "все норм" -  что дальше? Дженерики от этого так и не появились.
Жирноплюсы - это не альтернатива си, это чуть ли не эталон другой крайности.

> Очень многое в си является сахаром для ассемблера, собственно он ведь и задумывался как кроссплатформенная альтернатива асму.

Очень многое в си является легаси из древнемохнатых семидесятых. Инструменты (в том числе и для написания компилятора) с тех пор изменились, теория типов - особенно сильно подтянулась где-то в конце 80х - начале 90х.
Так батхертящая некоторых местных ржавчина - это в том числе и демка новых теоретических и практических достижений компиляторостроения. Одно только вычисление  (aliasing model/pointers, причем, емнип, частично даже в unsafe) - довольно интересная и забористая штука.
А от вот задумки си -- "близости к железу", давно осталась дырка от бублика. Скорее даже забавный эффект, когда производители железа (интель) ориентируется и подстраивается под генерируемый основными компиляторами код.
https://queue.acm.org/detail.cfm?id=3212479
> C Is Not a Low-level Language
> Your computer is not a fast PDP-11.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Anonymoustus , 25-Май-20 03:06 
Про Си всё и так понятно ещё с семидесятых. Но с тех пор придумали и развили до всяческих высот Аду, в которой решены чуть ли не все проблемы и опасТности программирования. Что же вам мешает её использовать? А, скобочки не те… Ну так жрите кактусы и не возмущайтесь.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 21:00 
пс

>KolibriOS

Колибриос по сравнению с линуксом абсолютно не впечатляет.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Валик , 24-Май-20 21:42 
> Просто кинь ссылку на современное пятое ядро для amd64

я дам ссылку.
не совсем что бы к самому "современному", возможно даже не к "пятому" и не для амуде и даже не на 2, а аж 4... зато там и ядро и libc и куча юзерспейсных утилит, ФС и вебсервер до кучи.
это любой дешманский китай-роутер с флехой на 4МБ.
а еще некоторые старые линуксы во времена 2,3,4хх-версий влазили на дискетку меньше 2МБ.
но ты сейчас начнешь про "не современное" и не на амуле и вообще "то ядро", это якобы "не это", да и Си там другой и.. и..


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 21:58 
>> Просто кинь ссылку на современное пятое ядро для amd64
> я дам ссылку.
> не совсем что бы к самому "современному", возможно даже не к "пятому"
> и не для амуде и даже не на 2, а аж 4...

Т.е. ссылку абсолютно мимо темы. Яснопонятно.

> но ты сейчас начнешь про "не современное" и не на амуле и
> вообще "то ядро", это якобы "не это", да и Си там другой и.. и..

Т.е. ты ни прочитать тему, ни сделать нормальное и логичное объяснение, как твое "я дам, правда там не совсе" вяжется с аргументацией вопроса в этой ветке
> > C и есть монстр.
> Разве? Можно примеры?

не осилил, зато сумел прочитать между строк и приписать мне какую-то фигню?



"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 27-Май-20 08:22 
> По сравнению с KolibriOS - абсолютно не впечатляет.

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

> отсутствие поддержки многопоточного и асинхронного программирования, шаблонов/дженериков,

Это обоюдоострый меч. Порой все это приходит к тому что в такой программе кто-то навернул все это от души. И в этом коле может разобраться только автор - тупо единственный на глобусе. Не то чтобы так на си нельзя, но куда неудобнее. Поэтому в си мультиплеерные проекты - имеют место быть.

> слабая типизация.

И чего? Warning пуляет. А в системных делах иногда таки объективно надо объявить бананы грушами. Другое дело что если этим злоупотреблять - станет как у яваскриптеров. Но если у тех оно автоматически, то тут надо вручную кастовать, или будет куча варнингов. Намного менее удобно - так что провоцирует делать так только когда есть хорошая причина.

Я бы скорее сказал "старые апи с дурной типизацией и реализацией".


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 07:58 
> ... то ли в дебиане лохи, то ли очередные фантазии почти-трехсотого^W очередного анонима опеннета.

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


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено oopssss , 24-Май-20 15:04 
Не обращай внимания, большинство смузихлёбов не тв курсе чем це от це-крест-крест отличается

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 15:33 
> Не обращай внимания, большинство смузихлёбов не тв курсе чем це от це-крест-крест
> отличается

а что, в свете данной новости C от C++ чем-то отличается?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 15:42 
Ничем не отличается, а наоборот C++ в себя включает Cи

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 15:51 
> Ничем не отличается, а наоборот C++ в себя включает Cи

Это не совсем так с некоторых пор, в си добавили сахар которого нет в плючах. Но я думаю, если писать на плючах исключительно как на "си с классами", то многих потенциальных проблем можно избежать. Только зачем тогда брать плючи?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:10 
Это так, C++ обратно совместим с Cи, то есть C++ включает C99

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 11:31 
Заведомо ложная информация

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 21:55 
Но если не брать плюсы, то как тогда быть в "Си с классами"? В C классов нет. Разве что вспомнить про Objective-C.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 23:16 
"Си с классами" это не про ООП и присущие ему фичи типа наследования, полиформизма, а про тупую группировку функций в классы, ака структуры

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 10:14 
> "Си с классами" это не про ООП и присущие ему фичи типа
> наследования, полиформизма, а про тупую группировку функций в классы, ака структуры

Это лучше, чем строить ООП поверх struct. А почему нельзя сделать наследование и полиморфизм? Было бы желание. Но они просто не нужны.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Fracta1L , 24-Май-20 14:16 
Надеюсь, это уже начало конца убогих древних языков, генерящих дыры на ровном месте

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 14:21 
Куда лучше будет научить программистов прогонять свой код в анализаторе и не совершать уб. Для ошибок в асме не поможет правда, но это надо асм начать хомячкам прививать и они больше не будут косячить так.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Fracta1L , 24-Май-20 14:43 
Комментом выше можно наблюдать пример необучаемости.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено red75prim , 24-Май-20 15:27 
Правильно, нафига ставить всякие чехлы на болгарки. Пусть каждый юзер проходит курс техники безопасности и не делает ошибок.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 15:37 
> Правильно, нафига ставить всякие чехлы на болгарки. Пусть каждый юзер проходит курс
> техники безопасности и не делает ошибок.

Все отрезанные пальцы как раз из-за пользовательских нарушений. Но от выбитых глаз наверно и чехлы никакие не помогут. У каждого инструмента своя область применения и нельзя об этом забывать. Если не use after free, то жит пробьют при желании (это едва ли не 99,999% успешных атак). Вот контроль за песочницей должен быть очень жёстким, чтобы ничто не смогло просочиться.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено red75prim , 24-Май-20 16:07 
Ну в статье-же прямо написано: "В настоящее время возможности применения [sandboxing] достигли предела своих возможностей [...]".

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:22 
> Ну в статье-же прямо написано: "В настоящее время возможности применения [sandboxing] достигли
> предела своих возможностей [...]".

Они внезапно осознали, что от дыр в вебгл песочница не спасает. Не иначе.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено red75prim , 24-Май-20 16:11 
>  Если не use after free, то жит пробьют при желании (это едва ли не 99,999% успешных атак)

Где эта статистика опубликована?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:17 
Статистика получена на основании анализа всяких соревнований по взлому, результатов обхода drm, и путей распространения малвари. В парсере dom я припомню всего пару уязвимостей. Там ещё что-то в css и html5/media было недавно, но это не серьёзно. Всё остальное это жит. Все эти уязвимости во флэше тоже, это всё жит и только он. Это наиболее удобный и очевидный вектор атаки, песочницы хоть как-то спасают, но только если они сами не уязвимы.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено red75prim , 24-Май-20 16:27 
Сто тысяч случаев проанализировали и не опубликовали? А вы скромный.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:56 
Ничто не мешает экстраполировать.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено red75prim , 24-Май-20 17:14 
В статистике вы похоже также хорошо разбираетесь. Сказали бы "Это оценка с точностью 1 значащая цифра" и претензий бы не было.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:40 
любой разумный программист это и так знает без всякой статистики

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Michael Shigorin , 24-Май-20 20:46 
Ммм... полагаете, у фрактала эти комментарии -- плод невыразимой ненависти, выражаемый полуслепым восьмипальцевым?..

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено kusb , 24-Май-20 21:32 
Привет, ты же у нас по  эльбрусам? Помогла бы их хвалёная технология защищённого режима? Или не это?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:04 
Это военная тайна.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 15:36 
> Куда лучше будет научить программистов прогонять свой код в анализаторе и не
> совершать уб. Для ошибок в асме не поможет правда, но это
> надо асм начать хомячкам прививать и они больше не будут косячить
> так.

парни из новости, которую ты комментишь, признали, что это не помогает


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:06 
Программисты гугла, это те которые не могут за 10 лет свою недоос привести в юзабельный вид без микро и макролагов? ммм, да не смешите меня

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено коржик , 24-Май-20 16:19 
разработчики хрома дилетанты, а я молодец!

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:26 
Разработчики хрома жалкие воры неспособные довести до ума то что стырили, да и я про WebKit/KHTML который хвала богам не стал тормозящее жруще многопроцессорным, в отличии от Blink... господи какой это кал

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 18:30 
Господи, какой некомпетентный комментарий выше.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:25 
Так опровергни

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:24 
Смешно конечно, какое отношение национальность имеет к кодовой базе которую гугль скоммуниздил у яблока который допилил kde-шных KHTML до практически 100% поддержки веб-стандартов... И если тебе так интересно, я не русский, поэтому исходя из твоей логики лжецом я быть попросту не могу, ибо все что я говорю истина в последней инстанции

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 19:18 
Действительно, микролаги это ужастно. Никогда не буду пользоваться гуглоос

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:30 
Я из за этой херни не один ведротелефон разбил

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 17:26 
std::vector<T,Allocator>::operator[]
Returns a reference to the element at specified location pos. No bounds checking is performed.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 11:35 
Теперь про std::vector::at процитируй

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено user90 , 24-Май-20 15:06 
Толстоват ты) Может дело таки не в языках, а в условных индусах?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Fracta1L , 24-Май-20 15:12 
Весь мир - индусы, кроме диванных хеллоувордщиков, понимаю

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 15:38 
> Толстоват ты) Может дело таки не в языках, а в условных индусах?

тебя в гугл не взяли и теперь ты говоришь, что в гугле все индусы?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:17 
Лучше идти в дизайнеры, чем в программисты... фэ прогеры даже звучит зашкварно

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено user90 , 24-Май-20 16:22 
1. Речь о хромом. 2. Хватает: https://www.linuxjournal.com/files/linuxjournal.com/linuxjou...

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 19:43 
> 1. Речь о хромом. 2. Хватает: https://www.linuxjournal.com/files/linuxjournal.com/linuxjou...

речь о том, что в команде разрабов chromium точно есть квалифицированные прогеры на C

именно те, кто будет писать либы для безопасной работы с памятью или принимать решение о переходе на rust

и они уже сказали, что жить на C тяжко даже с их опытом и руками


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 11:38 
Квалифицированные прогеры не могли такое сказать, потому что понимают что C и C++ это разные языки. Похоже кто-то врёт.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено proninyaroslav , 24-Май-20 17:33 
А я всегда думал что не язык, а люди генерят дыры...

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 21:24 
> А я всегда думал что не язык, а люди генерят дыры...

это совместно
но любой человек в решете воды не наносит


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Michael Shigorin , 24-Май-20 21:29 
> но любой человек в решете воды не наносит

Как будем с поверхностным натяжением, со следующего года отменим или немедленно?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 22:30 
>> но любой человек в решете воды не наносит
> Как будем с поверхностным натяжением, со следующего года отменим или немедленно?

никак
раскалим решет0 до 4к кельвинов (там на днях как раз новый материал на 4к сделали) и вручим разработчику как инструмент для переноса воды


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено proninyaroslav , 24-Май-20 22:18 
> но любой человек в решете воды не наносит

Разве C/C++ имеет какие то архитектурные дыры или дыры безопасности? Да, есть UB, есть ручное управление памятью, нет проверки границ массива, есть возможность выстрелить в ногу другими способами, но это регламентировано языком. И если язык разрешает такие вольности, а разработчик всё равно использует его, то вся ответственность лежит на разработчике и винить надо только его самого. Иначе не используйте этот язык (хотя чисто технически и экономически не всегда возможно, поэтому C/C++ будет ещё долго использоваться, а разработчики продолжать винить сам язык)


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 22:37 
>> но любой человек в решете воды не наносит
> Разве C/C++ имеет какие то архитектурные дыры или дыры безопасности? Да, есть
> UB, есть ручное управление памятью, нет проверки границ массива, есть возможность
> выстрелить в ногу другими способами, но это регламентировано языком. И если
> язык разрешает такие вольности, а разработчик всё равно использует его, то
> вся ответственность лежит на разработчике и винить надо только его самого.
> Иначе не используйте этот язык (хотя чисто технически и экономически не
> всегда возможно, поэтому C/C++ будет ещё долго использоваться, а разработчики продолжать
> винить сам язык)

не имеет дыр

C/C++ замечательный мультиархитектурный ассемблер
и поверх ассемблера должен быть более человекоориентированный и умный (автоматезированный) язык

а для написания таких монструозных программ как браузер (куча протоколов, разнородных и противоречивых поддерживаемых стандартов, куча возможностей и функционала, даже встроенный язык! и не один!!) - не предназначен

если бы люди на C/C++ писали драйвера (даже - только части дров), планировщики, менеджеры памяти - а не вот это вот всё остальное - может даже яблони на марсе уже б цвели


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено proninyaroslav , 24-Май-20 23:55 
Язык с GC для этих целей не подойдёт (по крайней мере для движка браузера), а жизнеспособных альтернатив C/C++ на тот момент не было. Ну а теперь переписывать полностью на другой язык дорого, так как время - деньги и найти спецов которые знают какой нибудь Rust сложно и дорого (ну или в мозиллу обратится)

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 11:39 
Абсолютно некомпетентное мнение.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Корец , 24-Май-20 19:31 
Надеюсь, что нет, а то как ты потом будешь писать забавные комменты в интернетах?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено vitalif , 24-Май-20 19:53 
Ты б сделал сам сначала волшебный язык, который и удобный, и безопасный, и быстрый. А потом рассказывал

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:10 
С++, конечно, знатный уродец, но ничего другого пока нет.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 23:03 
> С++, конечно, знатный уродец, но ничего другого пока нет.

D, rust, и остальные, с кем я мало знаком, но готовые жить на микроконтроллерах


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 23:40 
смысл брать C++ для микроконтроллеров? Это как бы сфера си, как и дела ядерные, драйвера и прочая близость к железу

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Андрей , 24-Май-20 14:31 
Вот это поворот!

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 02-Июн-20 09:41 
Мыло на шило.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено mumu , 24-Май-20 14:35 
Кастую в тред аналитиков из всех предыдущих топиков, которые любят повторять "Нужно всего лишь программировать правильно, C++ тут вовсе не при чем".
Может соберетесь и поможете гуглу? А то гугл не способен найти нормальных программеров. Одни олимпиадники и специалисты по крышкам люков работают.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 14:50 
http://robert.ocallahan.org/2017/07/confession-of-cc-program...

Один из крутых C++ программеров (Роберт О'Каллахан когда работал с Мозилле, то писал ядро движка Gecko, подсистему "layout") - говорит о том, что он *не может* постоянно писать безопасный код на плюсах. И ревью коллег не помогают.

Иными словами, если чел пишет на плюсах, ты он вынужден большую часть своего времени тратить на отслеживание и проверки безопасности кода. А на остатках писать функционал. На rust черновую работу берёт на себя компилятор, хотя и ценой времени компиляции.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 15:37 
Ну плюсам не хватает safe mode какого-то.
Вопрос знатокам можно ли в STL выстрелить себе в ногу ? Обратившись за границы массива, например ?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 15:46 
Нет нельзя, просто берешь контейнер типа вектор, суешь в него что хочешь и итерируешь и итерируешь)

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено red75prim , 24-Май-20 16:03 
А потом в цикле делаешь push_back и хрясь граблями между глаз.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 17:28 
std::vector<T,Allocator>::operator[]
Returns a reference to the element at specified location pos. No bounds checking is performed.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 16:08 
std::vector::at

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 17:24 
у std::vector нет обязательной проверки на допустимость границ массива https://en.cppreference.com/w/cpp/container/vector/operator_at

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 17:58 
Допустим, она бы там была. Запросили элемент вне границ, дальше то что делать? Работать дальше, будто ничего и не было, или всё же исключение кинуть и ткнуть рожей того, кто это написал?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 19:21 
>дальше то что делать?

исключение бросать


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 00:40 
А дальше?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 01:50 
Обрабатывать его. Как в Яве, Питоне и прочем

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено коржик , 24-Май-20 19:43 
>дальше то что делать?

исключение бросать


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 18:47 
С разморозкой:
Есть at()
https://en.cppreference.com/w/cpp/container/vector/at
Нормальные люди пользуются итераторами или ranged-base for циклом.  

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 00:38 
С заморозкой. В исключении что будешь делать? Прерывать работу программы, или пытаться дальше криво работать?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 06:43 
Прерывать и слать отчёт разработчикам. А что?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 08:03 
Это зависит от контекста. Универсальных правил тут нет.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 16:28 
STL не позволяет выстрелить себе в ногу, просто программисты не умеют им пользоваться.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 00:13 
Да, но. В свое время java(безопасный, переносимый) должна былы исправить недостатки и заместить c/c++. Но "не шмогла". Не смогли и последователи и предшественники всегда оказывается за "безопасность" нужно чем-то платить.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено X5asd5 , 25-Май-20 13:13 
> Да, но. В свое время java(безопасный, переносимый) должна былы исправить недостатки и заместить c/c++. Но "не шмогла".

ну потому что не в ту сторону начали "исправлять недостатки" :-) ..

это с таким же успехом как и Java -- можно было бы и сказать что и "Microsoft Visual Basic" должен был заменить C/C++ .


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Anonymoustus , 24-Май-20 14:56 
Не для того великие Томпсон и Пайк изобрели Игогошечку, чтоб жадный Гугл нанимал дорогих погромиздов, мечтающих всё переписать на Хрусте.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Dzen Python , 24-Май-20 16:05 
Не вопрос.
- Сколько платишь за фулдей?
- Куда мне можно будет посылать разного рода манагеров/комитеты [вплоть до генеральных] с их ВИДЕНИЕМ, невменяемым дедлайнами и кранчами?
Остальные вопросы вытекают из этих двух.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено annual slayer , 24-Май-20 17:22 
> Dzen Python

всё хорошо, спасибо, мы вам когда-нибудь перезвоним


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:42 
Нужно всего лишь программировать правильно, C++ тут вовсе не при чем.
Просто нужно нанимать правильных программистов которые не делают глупых ошибок, недопускают ub и прогоняют код через анализатор.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 17:09 
Знаешь что, правильный ты наш, когда твоя кодовая база перевалит за 10 млн. строк, в которые постоянного коммитят хотя бы 50 разработчиков - то ты зае…мучаешься программировать "правильно". Это если ты реально спец. Нуб там вообще без шансов написать нормальный код за вменяемое время.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Fracta1L , 24-Май-20 18:09 
Зачем ты рушишь маняфантазии диванных экспертов

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Lex , 25-Май-20 09:04 
Невольно один из заказчиков вспомнился..

«Тестирование !? А зачем нам тестирование - вы сразу без ошибок делайте! У нас и так сроки поджимают, на тестирование времени нет»


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:39 
Если кодовая база 10 млн строк написанных только при помощи if и while, без классов или хотя бы функций для разделения кода на модули, то это бида конечно

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено mail , 26-Май-20 22:56 
>> без классов

С классами 10.000.000 строк кодa вообще никогда не раскуришь.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Alex , 25-Май-20 17:24 
А для этого есть CI с инструментированными автотестами

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено qetuo , 25-Май-20 07:44 
Просто не пиши баги, и в программе их не будет!

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 11:01 
Всегда так делаю.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 17:36 
Мы бы наняли Вас, но у нас денег нет на хороших программистов.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 17:37 
С Уважением, Гугл (Не прилипляется имя почему-то)

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 14:41 
может быть, таки, Rust?!

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено iLex , 24-Май-20 15:28 
Ну вот Firefox на Rust переписали. И как, меньше там уязвимостей находят, чем в Chrome? Так, может, не в языке дело?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 15:48 
Именно, память лиса жрать стала только больше, вот и весь Rust

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 16:03 
> Именно, память лиса жрать стала только больше, вот и весь Rust

на днях обновился таки в одном месте с firefox 56 на текущий (уж очень там нужна была группировка вкладок, а в глобальный инет не ходил им)
потребление памяти упало в 1.5-2 раза (цифры на глаз по процмонитору)
что я сделал не так?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 17:02 
Отвалились расширения, которые и жрали. Это как уменьшение веса путём ампутации конечностей.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 18:35 
> Это как уменьшение веса путём ампутации конечностей.

Рудиментов может быть?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 18:44 
Для кого-то и ноги рудименты. Вот они и не заметили.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Michael Shigorin , 24-Май-20 21:09 
> Для кого-то и ноги рудименты. Вот они и не заметили.

Скорее не ноги, а мозги.  Впрочем, таким несложно запутаться...


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Fracta1L , 25-Май-20 09:01 
Вспомнился пародийный псевдодокументальный фильм "ноги это атавизм", рекомендую)

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 20:57 
> Отвалились расширения, которые и жрали. Это как уменьшение веса путём ампутации конечностей.

эдоны я перед этим те, которые не смогли бы работать отключил и ставил эдоны-аналоги из современных (так-как я это дело давно начинал тыкать - они уже стояли в выключенном виде и даж смогли обновится до неких версий работая в 56 (не до последних), так что по факту у меня отвалились тока груп менеджер и класик тем ресторер


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:43 
Вот не надо гнать, если лиса в быту монолитности жрала на старте с одной вкладкой 350-380мб, то сейчас с модной многопроцессорностью сходу 500мб и в районе сотни мегов на каждую вкладку, помимо этого около сотни мегов на вспомогательные процессы лисы, так зачем врать?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 20:56 
> Вот не надо гнать, если лиса в быту монолитности жрала на старте
> с одной вкладкой 350-380мб, то сейчас с модной многопроцессорностью сходу 500мб
> и в районе сотни мегов на каждую вкладку, помимо этого около
> сотни мегов на вспомогательные процессы лисы, так зачем врать?

не знаю про с одной, у меня около 250-300 вкладок на 4 окна
было примерно 750+500+300+300 по процессам
сейчас стало примерно 500+200+150+150 по процессам


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 21:00 
Зачем ты загоняешь дичь, если сами мозилловцы сказали шо из за многопроцессорности лисичка будет кушать больше памяти на порядок? В чем смысл? Новость эта кстати здесь же

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Shevchuk , 24-Май-20 21:28 
> на порядок

Ясно, понятно.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 21:34 
Тебе в килобайтах сказать для точности?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Shevchuk , 25-Май-20 00:03 
Если с абсолютными значениями у вас так же, как с относительными, то не утруждайтесь.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено FixingGunsInAir , 24-Май-20 21:05 
Может новый Firefox и жрёт больше памяти по сравнению со старым добрым, монолитным. Такое поведение ожидалось. Таков наш "дивный новый мир", где предполагается, что десктопе минимум 4 гига, да будет. Но всё это было в угоду скорости и стабильности.

Однако, по сравнению с Chromium, ситуация с памятью гораздо лучше у Firefox. Т.к. Firefox выделяет по процессу на каждое ядро + вспомогательный для gpu.

И самое главное, когда я сравнивал последний раз Chromium с Firefox, я заметил один факт. В отличии от Chromium, Firefox умеет освобождать память. А Chromium освобождает либо неохотно, либо вообще не освобождает, пока отдельный процесс не будет закрыт. В отдельных вкладках открыл 3 стресс-теста с веба и прогнал. После закрытия этих вкладок, Firefox освободил память сразу же до минималки, Chromium же оставил её при себе, пока не закрыл его совсем.

Вот и думай теперь, кто умеет управлять памятью, а кто нет.

P.S. Конечно же это всё мои субъективные тесты в моём персональном вакууме. Камшоты не сохранились с тех пор, потому пруфов не будет. Если хотите, сравнивайте сами.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Shevchuk , 24-Май-20 21:24 
Вот не поленился, создал чистый профиль и открыл в нём вкладку https://opennet.ru

> smem -tc 'pid name command pss' -P '^/usr/lib/firefox'        

  PID Name                     Command                          PSS
84318 Web Content              /usr/lib/firefox/firefox -c    29991
84230 WebExtensions            /usr/lib/firefox/firefox -c    49505
84194 Web Content              /usr/lib/firefox/firefox -c    97468
84113 firefox                  /usr/lib/firefox/firefox      203801
--------------------------------------------------------------------
    4                                                        380765


Для сравнения, Chromium (snap, так что не совсем православно, конечно):

> smem -tc 'pid name command pss' -P '^/snap/chromium'      

  PID Name                     Command                          PSS
86108 chrome                   /snap/chromium/1165/usr/lib     3071
86105 chrome                   /snap/chromium/1165/usr/lib    11180
86142 chrome                   /snap/chromium/1165/usr/lib    11829
86104 chrome                   /snap/chromium/1165/usr/lib    12006
86276 chrome                   /snap/chromium/1165/usr/lib    16830
86131 chrome                   /snap/chromium/1165/usr/lib    30461
86262 chrome                   /snap/chromium/1165/usr/lib    48198
86125 chrome                   /snap/chromium/1165/usr/lib   122773
85886 chrome                   /snap/chromium/1165/usr/lib   176314
--------------------------------------------------------------------
    9                                                        432662


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Anonymoustus , 25-Май-20 02:58 
Глянул и я скуки ради. И вот ведь что интересно:


$ smem -tc 'pid name command pss' -P 'chromium'

  PID Name                     Command                          PSS
4393 chromium                 /usr/lib/chromium/chromium      9027
7912 smem                     /usr/bin/python /usr/bin/sm     9228
4390 chromium                 /usr/lib/chromium/chromium     80674
--------------------------------------------------------------------
    3                                                         98929


$ sudo smem -tc 'pid name command pss' -P 'chromium'

  PID Name                     Command                          PSS
4392 chrome-sandbox           /usr/lib/chromium/chrome-sa      115
7913 sudo                     sudo smem -tc pid name comm     1198
4395 chromium                 /usr/lib/chromium/chromium      1234
4393 chromium                 /usr/lib/chromium/chromium      9025
7914 smem                     /usr/bin/python /usr/bin/sm    10498
4551 chromium                 /usr/lib/chromium/chromium     11905
4531 chromium                 /usr/lib/chromium/chromium     12768
4544 chromium                 /usr/lib/chromium/chromium     16197
4534 chromium                 /usr/lib/chromium/chromium     39575
4646 chromium                 /usr/lib/chromium/chromium     40501
4677 chromium                 /usr/lib/chromium/chromium     43886
4666 chromium                 /usr/lib/chromium/chromium     53088
4390 chromium                 /usr/lib/chromium/chromium     80672
4526 chromium                 /usr/lib/chromium/chromium     87549
--------------------------------------------------------------------
   14                                                        408211

Почему, кто знает?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Shevchuk , 25-Май-20 16:06 
Подозреваю, другие процессы могут быть запущены под другим пользователем. Чтобы прояснить ситуацию, попробуйте

sudo smem -atP '^/usr/lib/chromium'


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено cool29 , 25-Май-20 01:42 
Ну в любом случае лисой можно пользоваться хотя бы на 8 гигах памяти. Но chromium это просто чудовище ненасытное: как-то на 8 вкладках сожрал у меня около 5 гб. После этого основной браузер у меня лиса.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено J.L. , 31-Май-20 18:17 
> Вот не надо гнать, если лиса в быту монолитности жрала на старте
> с одной вкладкой 350-380мб, то сейчас с модной многопроцессорностью сходу 500мб
> и в районе сотни мегов на каждую вкладку, помимо этого около
> сотни мегов на вспомогательные процессы лисы, так зачем врать?

3 вкладки, прогружена одна (мелкий простой сайт) (ублок, уматрикс, хттпсэвревере)

firefox.57.0.4 (ubuntu забыл какая, наверно 16.04, дебник могу предоставить) (через долгогое время после запуска, запустил и на ночь забыл)
sudo smem -tc 'pid name command pss' -P '^/usr/lib/firefox'
  PID Name                     Command                          PSS
25787 Web Content              /usr/lib/firefox/firefox -c    46268
25707 firefox                  /usr/lib/firefox/firefox      372619
--------------------------------------------------------------------
    2                                                        418887

firefox.76.0.1 (ubuntu 20.04) (сразу после запуска)
sudo smem -tc 'pid name command pss' -P '^/usr/lib/firefox'
  PID Name                     Command                          PSS
23888 Web Content              /usr/lib/firefox/firefox -c    27386
23753 Web Content              /usr/lib/firefox/firefox -c    77361
23724 WebExtensions            /usr/lib/firefox/firefox -c    95657
23573 firefox                  /usr/lib/firefox/firefox      244842
--------------------------------------------------------------------
    4                                                        445246

firefox.76.0.1 (ubuntu 20.04) (полчаса после запуска - пока опеннет в хромиуме открывал, пока комментарий искал, пока то-сё)
sudo smem -tc 'pid name command pss' -P '^/usr/lib/firefox'
  PID Name                     Command                          PSS
24499 Web Content              /usr/lib/firefox/firefox -c    27384
24412 Web Content              /usr/lib/firefox/firefox -c    77078
24461 WebExtensions            /usr/lib/firefox/firefox -c    94116
24333 firefox                  /usr/lib/firefox/firefox      173608
--------------------------------------------------------------------
    4                                                        372186
и оно продолжает падать.... 445246 411270 380679 380498 374238 372531 372186
понятия не имею как это работает


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено J.L. , 31-Май-20 18:40 
>[оверквотинг удален]
>   173608
> --------------------------------------------------------------------
>     4        
>            
>            
>            
>            
>     372186
> и оно продолжает падать.... 445246 411270 380679 380498 374238 372531 372186
> понятия не имею как это работает

понятия не имею что происходит и как это работает, фаерфокс как запущен и с тех пор я его не трогаю, проверяю с консольки память и своп (своп не меняется 690-710 метров), пару раз делал окно активным
sudo smem -tc 'pid name command pss' -P '^/usr/lib/firefox'
  PID Name                     Command                          PSS
24499 Web Content              /usr/lib/firefox/firefox -c    20970
24412 Web Content              /usr/lib/firefox/firefox -c    67045
24461 WebExtensions            /usr/lib/firefox/firefox -c    81592
24333 firefox                  /usr/lib/firefox/firefox      155960
--------------------------------------------------------------------
    4                                                        325567


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено J.L. , 01-Июн-20 10:20 
>[оверквотинг удален]
> 24412 Web Content          
>     /usr/lib/firefox/firefox -c    67045
> 24461 WebExtensions          
>  /usr/lib/firefox/firefox -c    81592
> 24333 firefox          
>        /usr/lib/firefox/firefox    
>   155960
> --------------------------------------------------------------------
>     4        
>     325567

оставил на ночь
sudo smem -tc 'pid name command pss' -P '^/usr/lib/firefox'
[sudo] password for jl:
  PID Name                     Command                          PSS
24499 Web Content              /usr/lib/firefox/firefox -c     5297
24461 WebExtensions            /usr/lib/firefox/firefox -c    30611
24412 Web Content              /usr/lib/firefox/firefox -c    56058
24333 firefox                  /usr/lib/firefox/firefox      185339
--------------------------------------------------------------------
    4                                                        277305


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 15:55 
> Ну вот Firefox на Rust переписали. И как, меньше там уязвимостей находят,
> чем в Chrome? Так, может, не в языке дело?

те на русском вот прям в этой новости написали - 70% ошибок будет убрано если переписать на rust


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:00 
Капец ты тугой, а знаешь почему большой и сложный софт пишут не на няшном C# или богоизбранной Java, а на таком обьектно-ориентированном полуассеблере как C++? Во первых скорость, во вторых память, ручное управление которой и дает эту скорость по сравнению с безопасными языками

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 16:07 
> Капец ты тугой, а знаешь почему большой и сложный софт пишут не
> на няшном C# или богоизбранной Java, а на таком обьектно-ориентированном полуассеблере
> как C++? Во первых скорость, во вторых память, ручное управление которой
> и дает эту скорость по сравнению с безопасными языками

капец ты тугой, а знаешь, что бенчмарки rust vs C показывают 90-110% скорости C?
https://benchmarksgame-team.pages.debian.net/benchmarksgame/...


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:12 
В синтетике и жаба при определенных условиях быстрее C++ в полтора раза и шо?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:19 
Ох уж эти тесты Java vs C++, а сколько споров было шо жаба могет в 1 случае из миллиона

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:30 
"Джаба быстрее ассемблера*", это каждый знает. Интересно, а если в том кейсе где джаба победила заюзать libgccjit, он сможет быстрее быть?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:34 
Можно пойти дальше и заявить что жаба быстрее самого процессора, просто цп слишком медленный для нее вот и тормозит) Не успевает так сказать

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено коржик , 24-Май-20 17:16 
Вообще и на дотнете можно писать очень быстрый, не требовательный к памяти код. Но на проектах немного приоритеты другие, всегда стремишься к покрытию тестами и чистому коду, а так же к удобствам языка.
Как следствие, в рантайме получаешь оверхед по динамическому диспачу и упаковке, иногда огребаешь от рефлексии (привет, автофак) и компилирующихся на лету экспрешенов (mvvm биндинги к примеру).

Вот и получается, что дотнет медленный потому что код безотказный, поддерживаемый и не-тесно-связанный.

А у раста с динамикой не очень, наследования там вообще нет, vtable работает через толстые ссылки и только там где надо. Весь полиморфный код можно писать через дженерики (100% статика). Гц нет. Вот этого "всё есть объект" там тоже нет. Всё что можно работает на стеке.

И в каком месте ему тормозить? В дополнительных проверках на выход за пределы границ массива? В дополнительных проверках умных ссылок? Или в том, что проще просто взять и скопировать какое-то значение чем передавать его по ссылке чтобы заткнуть компилятор, который подозревает в каждой вашей строчке UB?

Я склонен полагать, что продвинутый c++ разработчик сам все эти проверки вставляет, чтобы яйца себе не отстрелить. И что "правильный" код на c++ работает примерно с такой же скоростью что и раст.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 21:01 
Зачем из дотнета делать C++? Шарпик в своей сфере просто цацка

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 02:13 
> Я склонен полагать, что продвинутый c++ разработчик сам все эти проверки вставляет, чтобы яйца себе не отстрелить.

Скорее избегает доступа к массиву по индексу. Например с помощью range for. А если не удается - да, надо проверять индексы, смещения, размеры.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 19:37 
> В синтетике и жаба при определенных условиях быстрее C++ в полтора раза
> и шо?

по ссылке вроде не прям чисто синтетика и не определённые условия

да там почти все тесты быстрее C/C++ вышли - может реально потому, что на этих языках в правильном коде надо позаботится о проверках в рантайме, а в rust за тебя посчитает в момент компиляции и не будет вставлять эти проверки в код?

зы: над исходниками не зависал, возможно я не прав


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:36 
не помнишь сколько пруфов было от джавистов как жабка рвет C++ в пух и прах?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 21:53 
> не помнишь сколько пруфов было от джавистов как жабка рвет C++ в
> пух и прах?

вы как-то нездорово циклитесь на Java, она вас покусала или в детстве обидела?

речь о вон тех примерах кода на rust, C и C++ и времени их выполнения
причём для каждого теста там несколько реализаций на каждом языке

где там синтетика или подтасованные цифры?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:01 
Java в свое время была темой насколько ожесточенных споров, что Rust и рядом не валялся, вот я и вспомнил...

Как раз тестить отдельные куски кода оптимизированные для одного языка и неоптимизированные для другого это херня на постном масле, ты видел как жаба рвет кресты в циклах или других специфичных кусках кода?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 21:54 
> не помнишь сколько пруфов было от джавистов как жабка рвет C++ в
> пух и прах?

и что, те пруфы опровергли или таки реально рвёт, пусть и на определённых алгоритмах?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:39 
в циклах жаба рвет, ну и там где можно выжать из конкретного железа всю мощь(за счет оптимизации машинного кода под конкретное железо на котором крутится jvm), а из C++ машинный код генерится максимально обобщенно под некий абстрактный x86-64 комп

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 12:11 
В java есть jit, jvm в рантайме собирает статистику и делает ассемблерный блоки, который может инлайнить, во время исполнения делать подмены в стеках вызовов. Т.е. в отличии от компилятора который не располагает данными как код выполнятся у jit есть некоторое преимущество в виде частотного анализа. Только это jit нужно "разогревать", потому бенчмарки на жабе делают хитро - выполняют несколько прогонов и например 10-ю итерацию уже засчитывают в результаты.
Фактически я думаю "порвать" может на синтетическом примере, если написать код нормально на сях а потом хитро мудро на java с анализом того что выкидывает jit :)

В кажется уже в 2004 году уже были статьи что Java быстрее сей, тогда переписали движок quake2 на java и средний fps был чуть выше чем у оригинала.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено коржик , 24-Май-20 19:53 
> Капец ты тугой, а знаешь почему большой и сложный софт пишут не на няшном C# или богоизбранной Java,

И да, большой и сложный софт пишут на C# и Java


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:45 
Пишут, но я про прикладной софт, а на шарпе и жабе как правило сервер сайд, но по сложности кода такие вещи как правило не уступают самому MSOffice, дело в другом, понимаешь железо на серверах помощнее и памяти побольше чем у среднестатистического юзера

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 01:25 
> память, ручное управление которой и дает эту скорость по сравнению с безопасными языками

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


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Fracta1L , 24-Май-20 15:57 
> Firefox на Rust переписали

Нет


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 17:10 
Ещё нет.
fxd =)

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Лолкек , 24-Май-20 16:00 
Там несколько подсистем переписали - css движок, вроде рендерер и ещё что то.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено НяшМяш , 24-Май-20 21:24 
https://wiki.mozilla.org/Oxidation#Shipped

Переписали на самом деле немало, но компоненты относительно мелкие. В любом случае надо с чего-то начинать.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 17:25 
Не переписали

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено topin89 , 24-Май-20 21:47 
Вполне может

https://chromium-review.googlesource.com/q/project:experimen...


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 14:44 
Ну пусть перепишут С/С++ код на расте, альтернатива есть и попутного ветра им в горбатую спину.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 15:49 
Просто из стандарта C++ уже давно пора выпилить указатели, вроде в 23-ей версии собираются

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 15:53 
И Сишный препроцессор убрать к чертям, иначе не код, а не отлаживаемый и не читаемый кусок Г получается

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 21:58 
+100500 Вот это да, это пора сделать.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Michael Shigorin , 24-Май-20 22:02 
> И Сишный препроцессор убрать

Долой макросы, всё руками колотить и каждый раз в каждом месте менять!


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:52 
видимо мусье не знаком с макросами и не понимает, что их в си используют не как функции или другие способы группировки кода, а как способ метапрограммирования вместо шаблонов которых в си нет, а в C++ есть и спрашивается а нахрена в C++ макросы? инлайн функции которыми хоть как то можно оправдать макросы давно есть и в С/C++, разве что для ассемблерных вставок оставить в урезанном виде без макрофункций и дифайнов

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:57 
уродливые инклуды чего стоят?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:17 
Большей чепухи давно не видел.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:31 
Удаление классических указателей из C++23 - двухлетняя первоапрельская шутка

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено анононимчик , 24-Май-20 16:32 
И го теперь на асме надо будет с памятью напрямую работать? O_o

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено topin89 , 24-Май-20 21:44 
Ты хоть писал на плюсах? Пользовался сишными библиотеками?

Они и в расте есть, в небезопасных участках, ибо иначе никак порой.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 28-Май-20 08:21 
https://www.openhub.net/p/chrome/analyses/latest/languages_s...

Language: C++
Code lines: 12,188,073

Вперед, переписывай.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено paulus , 29-Май-20 03:42 
>пусть перепишут С/С++ код на расте

им больше Java нравица... Ото жесть будет ;)  


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Андрей , 24-Май-20 14:56 
36,1% use after free

Казалось бы, что может быть проще: free(p); p = NULL;

А потом один раз if (p == NULL) goto out;


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Fracta1L , 24-Май-20 14:58 
Вот именно, что казалось бы.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 15:27 
Это должен делать компилятор на худой конец интерпретатор. Кодогенерация опять же.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 15:38 
Ждем safe метаклассы для этого.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 15:59 
> Ждем safe метаклассы для этого.

они уже есть - в rust


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено анононимчик , 24-Май-20 16:34 
Rust дубовый язык. C в кандалах:)

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:07 
Для неосиляторов (и писателей низкоуровневых библиотек) всегда есть unsafe.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:11 
Уместно ли тут сравнение с работой в Линуксе из-под рута по-умолчанию?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 01:27 
Нет, ибо в С++ вообще один ансейф. А в расте только где надо - т.е. как sudo

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:19 
Это должен делать программист - освободить память после использования.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено коржик , 24-Май-20 17:28 
Вот открываете вы тикет на работе, а там написано:

"Написать программу которая хорошо освобождает память".


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 19:47 
> Это должен делать программист - освободить память после использования.

а вы, видимо, дизайнер или менеджер? ну или строитель там...

в общем не указывайте программисту, что он должен делать, вы не понимаете его работы


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 06:45 
Т.е. Вы специально закладываете в программный проект критические и трудно локализуемые ошибки при работе с памятью, а именно - выделяете ее, но явно не освобождаете, либо освобождаете, но затем используете, забыв об этом, либо используете больше, чем выделяете?

Именно поэтому пишу свой код сам.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 25-Май-20 11:15 
> Именно поэтому пишу свой код сам.

простите, но всёж линукс/виндовс/другую прокладку между вами и железом тоже написали сами?

остальной бред не комментирую


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 07:49 
> в общем не указывайте программисту, что он должен делать

Если я плачу деньги программисту, я именно указываю ему, что он должен делать, оформляя юридически платформу, функциональность, результаты, принадлежность исходников и прочее. В ином случае я его не нанимаю, поэтому данный вариант не рассматривается.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено заминированный тапок , 24-Май-20 20:31 
>Это должен делать компилятор на худой конец интерпретатор. Кодогенерация опять же.

ну и какой тогда нахрен zero-cost abstraction?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 22:03 
>>Это должен делать компилятор на худой конец интерпретатор. Кодогенерация опять же.
> ну и какой тогда нахрен zero-cost abstraction?

так в рантайме ж получается zero-cost?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Ordu , 24-Май-20 16:31 
Это в простейшем случае. Но прикинь теперь, что, допустим, у тебя есть гуй, который представляется в памяти в виде дерева виджетов. Каждый виджет представлен кусоком памяти, на который в этом дереве есть ровно один указатель. Теперь представь, что среди этих виджетов есть кнопка, и ты вешаешь обработчик на эту кнопку, например, это может быть замыкание, которое захватило указатель на кусок памяти представляющий эту кнопку. Или, если нефункционально зато в стиле ООП, то это будет объект, который имеет метод onclick, и поле button, хранящее указатель на эту кнопку. Этот объект-замыкание мы засовываем в наш менеджер ивентов. И вот ты решил удалить кнопку, сделал на неё free, а тут прилетел onclick event, и объект-замыкание сделало use-after-free.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено анононимчик , 24-Май-20 16:40 
Такие проблемы были давным давно решены и в Delphi/Pascal, и в MFC, и в Qt.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Ordu , 24-Май-20 16:54 
Какие именно проблемы из перечисленных были решены?

Я спросил у гугла про qt + use-after-free и тут же он нашёл мне:
https://nvd.nist.gov/vuln/detail/CVE-2020-12267
https://bugreports.qt.io/browse/QTBUG-60786
https://bugreports.qt.io/browse/QTBUG-62443

Ты можешь сам поискать ещё, если тебе мало. qt точно так же ходит по граблям use-after-free как и все остальные.

Насчёт Delphi/Pascal я не уверен, я никогда не писал на них сколь-нибудь серьёзно, но загуглил и вот что нашёл: https://wiert.me/2020/01/20/delphi-a-few-notes-on-tracking-d.../
Что наводит на мысль о том, что в Delphi тоже вполне возможно наступить на use-after-free.

Где надо вызывать free -- это очень сложный вопрос, на который не всегда можно ответить статически, иногда ответ надо искать динамически. Если при этом нет жёсткой системы, которая позволяет, хотя бы, отличить одно от другого, и которая ругается при компиляции о том, что в коде не очевидно где нужно вызывать free, то программисты будут вызывать free не там где надо.

ps. Да и в любом случае -- решены или не решены, -- всё равно ситуация оказывается резко сложнее, чем описывает ТС.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Андрей , 26-Май-20 03:20 
> Где надо вызывать free -- это очень сложный вопрос, на который не всегда можно ответить статически, иногда ответ надо искать динамически.

К счастью, в автоматизации этого направления делаются успехи. Две недели назад была новость:

https://www.opennet.dev/opennews/art.shtml?num=52903
> Релиз набора компиляторов GCC 10
> Основные изменения:
> Добавлен экспериментальный режим статического анализа "-fanalyzer", который выполняет ресурсоёмкий межпроцедурный анализ путей выполнения кода и потоков данных в программе. Режим способен на этапе компиляции выявлять такие проблемы, как ... обращение к освобождённым блокам памяти, ... Применение нового режима для кода OpenSSL уже позволило выявить опасную уязвимость. https://www.opennet.dev/opennews/art.shtml?num=52782


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Совершенно другой аноним , 26-Май-20 08:44 
И до этого были такие программы, как cppcheck, Pvs-studio и куча других. И в clang есть встроенный статический анализатор, некоторым даже нравится, но как сказал предыдущий оратор - всё не так просто. Опять-же до C11 основным императивом языка С было - программист знает, что делает. Т.е. если хочет стрельнуть в ногу - пусть стреляет, может ему так надо. Сейчас это немного поменялось. Хотя по-мне - подход был правильный, просто при этом действительно наращивать разные анализаторы и прочее. Т.е. хотите скорость, для критичных именно по скорости вещей - вам нужен Assembler, C, C++. Нужна безопасность - берите другой язык, ту-же Java.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Ordu , 26-Май-20 14:43 
>> Где надо вызывать free -- это очень сложный вопрос, на который не всегда можно ответить статически, иногда ответ надо искать динамически.
> К счастью, в автоматизации этого направления делаются успехи.

Да, успехи делаются. Но если ты попробуешь раст, ты увидишь где эти успехи заканчиваются. Борроу-чекер может вычислить много чего, но он ограничивает. Иногда очень болезненно. Например, есть у меня структура, в ней много нодов. Допустим, каждый нод содержит int. Я хочу получить N нодов (для выбора каждого нода у меня своё правило), после чего провернуть какие-то манипуляции над ними, которые изменят все эти N нодов. То есть я хочу прописать в каждый нод новое значение, которое будет вычислено на основании текущих значений в этих N нодах.

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

Ограничение на количество активных мутабельных указателей нужно, потому что благодаря этому ограничению обеспечивается консистентность памяти. Но на выходе я получаю гемморрой на, казалось бы, ровном месте: в моём случае никак не могут возникнуть проблемы с консистентностью памяти, даже если я расчехлю unsafe и сделаю это в C'шном стиле. Я это знаю, но борроу-чекер не видит этого.

Борроу-чекер работает как задумано лишь в относительно простых случаях. Да этих случаев -- подавляющее большинство, но всё равно появляются такие случаи, в которых надо либо отключать borrow-checker unsafe'ом и думать своей головой, либо городить огород мозголомных API для решения простых задач.

В языке не заточенном под борроу-чекер ситуация будет иной. Как получится -- зависит от языка и реализации. Возможно ты получишь такой поток ложных варнингов, что обязательно пропустишь в них парочку варнингов по делу. Может быть ложных варнингов будет резко меньше, но при этом борроу-чекер будет пропускать некоторые случаи, на которые следовало бы ругнуться. И не факт, что в другом языке удастся создать способы преодоления этих варнингов, которые будут лучше чем костыль unsafe: в расте есть такие способы, но они требуют параметризации по типам, трейтов, функциональщины, системы модулей, и целой библиотеки, заточенной на всё это.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 17:37 
Это вот так чтоли?

https://play.rust-lang.org/?version=stable&mode=debug&editio...

Компилируется...


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Ordu , 26-Май-20 18:24 
> Это вот так чтоли?
> https://play.rust-lang.org/?version=stable&mode=debug&editio...
> Компилируется...

Потому что в этом случае борроу-чекер справляется. Он в состоянии проанализировать код, и придти к выводу, что ref_a и ref_b ссылаются на непересекающиеся куски памяти.

Если код сделать чуть сложнее он споткнётся:

https://play.rust-lang.org/?version=stable&mode=debug&editio...

Может со временем борроу-чекер станет умнее и научится справляться и с этой ситуацией. Но прикинь теперь, что get_node принимает не идентификатор нода, а лямбду, и работает как std::iter::Iterator::find. И внутри лямбды я вызываю функцию находящуюся в другом крейте, которая вообще (с точки зрения компилятора) хрен знает что делает. Я применяю такой get_node дважды, и получаю две ссылки внутрь структуры. Борроу-чекер вообще уже никак не может проверить, что ref_a и ref_b ссылаются на непересекающиеся куски памяти. На самом деле это и мне может быть неочевидно в каких-то случаях, и мне отдельно придётся размышлять над этим.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 18:40 
> Может со временем борроу-чекер станет умнее и научится справляться и с этой
> ситуацией. Но прикинь теперь, что get_node принимает не идентификатор нода, а
> лямбду, и работает как std::iter::Iterator::find. И внутри лямбды я вызываю функцию
> находящуюся в другом крейте, которая вообще (с точки зрения компилятора) хрен
> знает что делает. Я применяю такой get_node дважды, и получаю две
> ссылки внутрь структуры. Борроу-чекер вообще уже никак не может проверить, что
> ref_a и ref_b ссылаются на непересекающиеся куски памяти. На самом деле
> это и мне может быть неочевидно в каких-то случаях, и мне
> отдельно придётся размышлять над этим.

Конечно можно щас это всё на глупый borrow checker списать, но как до вызова некой неведомой какой лямбды можно было бы понять что она заимствовать будет? Здесь не проверятор тупой, а разработчик хочет невозможного.

Есть гораздо понятнее случаи, когда оно не справляется. Например если структура с дженериком, который в impl задан как Self. Если есть лайфтайм на структуре, которым типизировано хотя бы одно поле - скомпилировать не выйдет, потому что лайфтайм к дженерику не пришить. А он там есть в impl, да задать никак, в синтаксисе не предусмотрено.
А это очень даже надо, чтобы тесты можно было писать, задавая все зависимости через дженерики и передавая в тестах туда заглушки и имитаторы.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Ordu , 26-Май-20 19:07 
> Конечно можно щас это всё на глупый borrow checker списать, но как
> до вызова некой неведомой какой лямбды можно было бы понять что
> она заимствовать будет? Здесь не проверятор тупой, а разработчик хочет невозможного.

Это не всегда "невозможное". Бывают случаи, когда я могу доказать, что создание двух ссылок не нарушит никаких инвариантов, а борроу-чекер не может доказать. И это же самый гнусный вариант: если я заткну борроу-чекер unsafe'ом, то потом изменения в программе могут привести к тому, что моё доказательство станет неверным, и я могу забыть проверить это доказательство. А если я буду разруливать по правилам борроу-чекера, то мне придётся переходить к динамическим проверкам borrow, что тоже сакс: мало того, что это дополнительные тормоза, так ещё и падения программы, происходящие при определённом стечении обстоятельств.

Но так или иначе, мне кажется, мы сходимся к одному и тому же: несмотря на прогресс в статическом анализе кода, пока ещё есть пределы возможностей всех этих статических проверок, есть куда улучшаться, и rust позволяет эти пределы пощупать.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 19:42 
> Это не всегда "невозможное". Бывают случаи, когда я могу доказать, что создание
> двух ссылок не нарушит никаких инвариантов, а борроу-чекер не может доказать.
> И это же самый гнусный вариант: если я заткну борроу-чекер unsafe'ом,
> то потом изменения в программе могут привести к тому, что моё
> доказательство станет неверным, и я могу забыть проверить это доказательство. А
> если я буду разруливать по правилам борроу-чекера, то мне придётся переходить
> к динамическим проверкам borrow, что тоже сакс: мало того, что это
> дополнительные тормоза, так ещё и падения программы, происходящие при определённом стечении
> обстоятельств.

Ты конкретного примера пока не привел. Ладно, давай я попробую что-то очевидное.
Для любого положительного целого i, ссылка на диапазон в массиве вида [0..(i/2)] очевидно не будет пересекаться с ссылкой вида [(i/2)..].
Почему бы это не проверять в borrow checker? Ну хотя бы для всех случаев, когда множество из одно range не пересекается с другим?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Ordu , 26-Май-20 19:56 
> Ты конкретного примера пока не привел.

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

> Для любого положительного целого i, ссылка на диапазон в массиве вида [0..(i/2)]
> очевидно не будет пересекаться с ссылкой вида [(i/2)..].
> Почему бы это не проверять в borrow checker? Ну хотя бы для
> всех случаев, когда множество из одно range не пересекается с другим?

И почему же? Для этого в slice есть split_at_mut, потому как борроу-чекер не умеет так, но я не задумывался, почему он этого не умеет, и почему бы его не научить этому.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено red75prim , 26-Май-20 18:08 
> Я хочу получить N нодов [...], после чего провернуть какие-то манипуляции над ними, которые изменят все эти N нодов.

И проблема тут в том, что эти N указателей могут алиаситься. Делаем *node[0]=1; *node[1]=2; и получаем, что неожиданно *node[0] теперь тоже 2, так они указываются на один и тот же инт.

Если разные ноды принадлежат разным частям структуры (то есть алиасинг исключён), раст позволит это сделать:

struct Foo { a: Vec<i32>, b: Vec<i32> }

fn nodes(a: &mut Foo) -> Vec<&mut i32> {
    vec![&mut a.a[0], &mut a.b[0]]
}

Если алиасинг действительно нужен, то используется не i32, а Cell<i32> - zero-cost обёртка над i32 говорящая компилятору, что нам действительно нужен мутабельный алиасинг. Потом используем шареные ссылки на Cell<i32> и меняем данные через них. Борроу-чекер доволен.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 18:29 
> Если алиасинг действительно нужен, то используется не i32, а Cell<i32> - zero-cost
> обёртка над i32 говорящая компилятору, что нам действительно нужен мутабельный алиасинг.
> Потом используем шареные ссылки на Cell<i32> и меняем данные через них.
> Борроу-чекер доволен.

...
И ловим косяки (если будут) в рантайме.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено red75prim , 26-Май-20 18:52 
Дык, что написали, то и получим. Хотели мутабельный алиасинг, получили мутабельный алиасинг. Паник в коде с Cell<i32> не будет, могут быть логические ошибки.

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


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Ordu , 26-Май-20 18:59 
Я понимаю в чём проблема, и я не говорю, что нельзя выкрутится в этой ситуации. Я говорю, что придётся городить огород мозголомных API.

Например, заворачивать все ноды в RefCell, чтобы динамически проверять правила борроу-чекера. (фууу, динамически). Можно подумать о том, какие именно наборы нодов мне надо выбирать, и создать способ описания набора, передавать в структуру это описание и лямбду, с тем чтобы она сделала бы нужную выборку нодов, и передала бы в мою лямбду эту выборку массивом.

Вероятно можно и другие способы придумать, но суть остаётся той же: куча геморроя на, казалось бы, ровном месте.

> Cell<i32> - zero-cost обёртка над i32

Она лишь условно zero-cost. Она zero-cost в том смысле, что не надо заморочного рантайма, и что она добавляет O(1) сложности. Но это не значит, что она обходится бесплатно. Если ты попробуешь сделать для одного и того же RefCell<T> два borrow, то получишь панику: RefCell при создании ссылки проверяет не существует ли ещё одной. Точнее два borrow прокатят, но если один из них будет borrow_mut, то вот тогда ты получишь панику.

Кроме того, все эти Option<Arc<RefCell<SomeThing>>> иногда начинают напрягать. Особенно когда это накладывается на Result<Result<T, E1>, E2>.

> Если разные ноды принадлежат разным частям структуры (то есть алиасинг исключён), раст позволит это сделать:

Сможет, если он сможет проверить, что они принадлежат разным частям структуры. Выше, в #446, я привёл пример, где борроу-чекер самым тупым образом не справляется. Всё что потребовалось, для того, чтобы получить этот результат -- вынести создание ссылки в функцию. Проблема в том, что приходится сталкиваться с ситуациями, когда я могу доказать, что они всегда будут принадлежать разным частям структуры, а борроу-чекер -- нет. И из-за этого мне приходится либо доставать unsafe, либо скатываться на позорные динамические проверки. Причём, поскольку unsafe отменяет проверки, это значит что когда потом я внесу изменение в какой-нибудь другой код, и так случится что станет возможным создание двух ссылок на один и тот же кусок кода, то борроу-чекер нихрена не проверит, и динамической проверки нет, то есть я тупо впорюсь в баг, достойный C-программиста.

У всех этих проверок есть пределы возможностей, и эти пределы иногда реально путаются под ногами.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено red75prim , 26-Май-20 19:22 
Cell именно что zero-cost.

> борроу-чекер самым тупым образом не справляется

Не тупым. Информацию о том, что структура позаимствована частично нужно где-то хранить. Хранить в рантайме дорого, значит нужно хранить в типе возвращаемого значения. Что именно заимствуется зависит от входных параметром, значит выходный тип должен зависеть от входного значения. А это уже dependent types и намного сложнее.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Ordu , 26-Май-20 19:51 
> Cell именно что zero-cost.
>> борроу-чекер самым тупым образом не справляется
> Не тупым. Информацию о том, что структура позаимствована частично нужно где-то хранить.
> Хранить в рантайме дорого, значит нужно хранить в типе возвращаемого значения.
> Что именно заимствуется зависит от входных параметром, значит выходный тип должен
> зависеть от входного значения. А это уже dependent types и намного
> сложнее.

Именно что тупым. Мне не требуется более сложной системы типов в расте, для того, чтобы рассуждать лучше борроу-чекера о данной ситуации. И борроу-чекеру dependent types особо не нужны -- он же может в пределах одной функции придти к выводу, что создаётся две независимые ссылки внутрь структуры? И может он это сделать без dependent types. Его тупость проявляется в том, что его способность рассуждать не может пересекать границ функций.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено red75prim , 26-Май-20 20:15 
Это будет не рассуждение, а "натыкать вариантов для частных случаев". Линейный конгруэнтный метод генерации случайных чисел, может выводить уникальные индексы из какого-то диапазона пока не начнёт повторяться. Использовать N этих индексов будет безопасно, ссылки не будут пересекаться. Этот случай тоже добавлять в borrow checker?

Доказать отсутствие алиасинга в общем случае невозможно. Тривиальные случаи решаются тривиально: например не использовать отдельную функцию get_node, чтобы borrow-checker видел, что берутся разные элементы. Нетривиальные случаи доказываются вручную и изолируются за безопасным интерфейсом.

Умный borrow-checker (а не гора правил на разные случаи, в которых тоже могут быть ошибки) должен уметь доказывать теоремы (хотя бы и в каких-то частных случаях), а это и не все программисты умеют.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Зз , 24-Май-20 20:11 
А как это будет на Расте?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено растоман , 24-Май-20 22:16 
> А как это будет на Расте?

unsafe {
тажехерня
}


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 23:01 
Истину глаголит

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 23:09 
>> А как это будет на Расте?
> unsafe {
> тажехерня
> }

https://www.opennet.dev/openforum/vsluhforumID3/120718.html#283


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 08:12 
unsafe{
    main(){
    ///весь остальной код
    }
}

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Ordu , 25-Май-20 12:40 
Раст не позволит хранить ссылку в двух разных местах просто так. Там без явного или неявного использования unsafe не удастся выкрутится. Например, в std есть Rc, который может приделать к объекту счётчик ссылок, и при помощи unsafe он может клонировать и удалять ссылки таким образом, чтобы после удаления последней, вызвать free на объект. Если использовать Rc, то тебе самому не надо прибегать к помощи unsafe (всё это спрятано в Rc, наружу Rc выставляет safe интерфейс).

В C++ есть shared_ptr, который делает то же самое. Разница лишь в том, что C++ с радостью позволит тебе сделать всё то же самое без shared_ptr, и получить use-after-free, в то время как rust заставит тебя обратить внимание на сложившуюся ситуацию и совершить какие-то телодвижения.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 08:11 
Объект замыкание должно отвалиться с исключением или игнорированием события, в зависимости от контекста.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 10:07 
Там должен быть не указатель, а shared_ptr. И тогда в описанной ситуации обработчик обратится к объекту отключенному от дерева и у которого parent == null. Правда тут мы получим классическую утечку памяти. В идеале менеджер сообщений должен отработать только после изменения и пересчёта DOM.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Lex , 25-Май-20 10:53 
В подобных случаях( правда, на уровне того же веба и жс ) обычно на удаление вешают функцию, которая вначале очищает все обработчики событий( всм, относящиеся к конкретному объекту ) и, уже только после этого, выпиливается сам объект( мб, даже по какому-нибудь колбэку аля onDone / onSuccess, притом, с проверкой актуальности самой ссылки на удаляемый объект, т.к в вебе может и несколько запросов на удаление прилететь.. что-то где заглючило или браузер лаганул и в этот момент юзер кучу раз нажал на соотв кнопку итп )

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Андрей , 26-Май-20 03:14 
> например, это может быть замыкание, которое захватило указатель на кусок памяти представляющий эту кнопку.

Похоже, если нужно захватывать указатель, то нужно захватывать указатель на этот указатель. Если уж добвалять синтаксический сахар, так не оставлять при этом дыр.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Ordu , 26-Май-20 13:39 
>> например, это может быть замыкание, которое захватило указатель на кусок памяти представляющий эту кнопку.
> Похоже, если нужно захватывать указатель, то нужно захватывать указатель на этот указатель.
> Если уж добвалять синтаксический сахар, так не оставлять при этом дыр.

Это усложнение, причём не только для программиста, но и для процессора: чтобы разадресовать указатель на указатель, надо дважды прочитать память и скорее всего в совершенно разных местах. А это значит есть шансы получить два кеш-промаха.

Есть другие способы. Во-первых, сборка мусора в том или ином виде -- счётчики ссылок или сборщик мусора. Во-вторых, можно очень подумать головой, и придумать такие структуры данных и такие алгоритмы работы с ними, чтобы ничего подобного не случалось. "Во-первых" -- это обобщённое решение для всех таких проблем, "во-вторых" -- это "ad hoc" решение, которое затачивается под конкретный случай.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:13 
>Казалось бы, что может быть проще: free(p); p = NULL;
>А потом один раз if (p == NULL) goto out;

А не лучше ли было бы объявить в LibC эту free(p) deprecated и предлагать вместо неё free(&p), которая сама перед выходом делает *p = NULL; ?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 08:14 
Это уже будет другой язык.
С++ занято
С# тоже
гммм

пусть будет
C$


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 14:35 
Ну прям, добавили/удалили фунций в библиотеку, заметьте, без внесения изменений в синтаксис языка, и вот уже новый язык.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 08:21 
а смысл, если у тебя один и тот же адрес может храниться в нескольких p?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 14:32 
Но в таком разе и предложение от https://www.opennet.dev/openforum/vsluhforumID3/120718.html?n... тоже не очень много имеет смысла.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 18:37 
Ну да, был у тебя:
void free(void *ptr);
А теперь будет:
void free(void *ptr);

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Совершенно другой аноним , 26-Май-20 09:32 
Тогда уже:
void freezero(void**);

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 09:50 
В C++ есть std::vector, std::make_shared, std::make_unique. Вот и попробуй с ними добиться use after free. malloc и free в C++ не нужны, так как даже если нужен указатель, он может быть получен из управляемых классов.
В Си уже не всё так просто, нужно ещё следить за копированием указателей. Ведь p = nullptr очевидно не обнулит копии указателя.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 10:47 
Чем Вас не устраивает что-то типа

...

long *x;

...

x = new long [n];

...

delete [] x;


Нужен массив - выделили память (в примере не производится проверка результата - реально это нужно делать), использовали, освободили память (до выхода из функции).


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 11:45 
Тем что так писать не обязательно, можно написать безопасно.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 11:54 
if(error) throw MyException();
И Ваш массив навсегда остаётся в памяти. Причём эта строчка необязательно должна быть в той же функции, достаточно, чтобы программист не стал обрабатывать это исключение по незнанию или из уверенности, что его никогда не будет. finally в C++ нет! Именно по этому среди локальных переменных не должно быть ни одной, требующей ручного освобождения.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 08:45 
finally можно иммитировать перехватом всех исключений и повторной генерацией.

типа
try{
...
}catch(Exception ex)
{
free_arroy();
throw ex;
}


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 09:19 
Только вот С++ не C# и преобразование std::out_of_range в std::exception необратимо. Невозможно отправить дальше тоже исключение, что было обработано общим обработчиком. Пример http://cpp.sh/4dx7q

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 28-Май-20 11:31 
Какой глюк.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено user90 , 24-Май-20 15:03 
> организацию взаимодействия кода на новом языке с кодом на С++

This! Ну и прочие подобные перлы создают какую-то странную картину. Зоопарк? ;)


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 07:55 
Это когда вместо изучения и грамотного использования одного инструмента начинаются обвинения в низком его качестве и скачки в сторону. Если потенциальный кандидат заявляет, что "это нельзя сделать на С, в Linux etc" (подставить нужное), но можно на Delphi, Visual Basic etc (подставить нужное), на этом профессиональное общение заканчивается.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено poige , 24-Май-20 15:09 
> В настоящее время
> возможности применения данной технологии достигли предела своих
> возможностей

и пусть потом не говорят, что возможностей мало. Вон их тут сколько. Сплошные!


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Eric Hartman , 24-Май-20 15:22 
Гугл сегодня одна из самых позорных шараг во всех отношениях. Они всегда делали галимый треш. Даже свой поисковик превратили в аналог зомбоящика с тотальной цензурой и рекламой.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:31 
Тут плюсую, ибо я не отчего не испытывал столько боли как от использования подделий гугла

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 17:04 
А куда ты денешься с подводной лодки? Стандартны вэба давно диктует гугол, и бабки платят тем, кто десятками мегабайт в скрипты загоняет.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:47 
мягкие и яблоко конечно не удел

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 21:05 
Современные веб-стандарты которыми ты так кичишься, чуть менее чем совсем состоят из отсебятины MS еще в бытность IE6/7

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 00:45 
MS уже сдался. Свой движок выкидывают.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено без имени , 03-Июн-20 09:40 
Лиса давно ходит прогнувшись.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Gemorroj , 24-Май-20 17:19 
мне думается что гугель уже переплюнул ящик в плане промывки мозгов

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 19:01 
Хромиум тоже относится к подделкам гугла? Он вроде как его не пилит, но все же мы понимаем, что руководит Хромиумом гугл.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:49 
Многопроцессорность говорили они, безопасность говорили они, а что мы видим в итоге тормоза, отжор памяти и все те же дыры

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 10:52 
Совершенно верно. Когда мы говорим о Linux, то понимаем, что делают его не кучка гиков, а IBM.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:32 
Да и поисковик у них какой-то странный. Лет 5 назад ещё я его предпочитал, а теперь Яша ищет лучше. Делал сайт со 100% уникальным и специфичным контентом, так яндекс на первой странице выдаёт, а гугл не до листался, всё какую-то коммерческую и ненужную дичь выводит не в тему.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:51 
Порнуху яндекс лучше ищет чем гугл, еще вопросы есть?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 01:13 
DDG тоже стал неплохо искать.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 13:12 
Посмотрите где хостится DDG. Посмотрите кто у него Главный Партнер По Рекламе. DDG - это ручная собачка одной из самых влиятельных IT корпораций планеты.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 14:39 
Но прон ищет, независимо от партнёров.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено без имени , 03-Июн-20 09:41 
Смотря где ты её ищешь.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 15:26 
Прав был Фрактал.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 11:48 
Сам себя не похвалишь — никто не похвалит.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено d , 24-Май-20 15:49 
Имхо проблема не в языках, а в x86, arm и им подобным.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 19:02 
Обоснуйте. Можно более развёрнутый комментарий? :)

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 23:02 
Даёшь систему команд без косвенной адресации! Это избавит от необходимости низкоуровневой работы с памятью. :)

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Dzen Python , 24-Май-20 15:57 
"Сделаем хром жирнее и медленнее again"?
А чтобы юзвери не рыдали - нарисуем им красивую инфографику, что ай-яй-яй, дыры-память-указатели! И не программисты же виноваты, что не могут сделать пару malloc()-free() или new()-delete(), в творческом порыве насирания кода, это все неправильные языки [которые принудительно не отслеживают время жизни указателей в куче и не могут предугадать любой сценарийй мемаллока] и плохие компиляторы [которые понимают адресную арифметику и позволяют собирать красивый и быстрый код, вместо подтирания мочи за "погромистами"-быдлокодерами].

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Да ну вас нахрен , 24-Май-20 16:13 
> Использование библиотек для безопасной работы с памятью является наиболее простым, но и менее эффективным способом. Переписывание же кода на Rust оценивается как наиболее эффективный, но и очень дорогой путь.

Так и какое заключение то? Что выберет Google?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено FixingGunsInAir , 24-Май-20 20:44 
Пока это всё разговорчики. Признание проблемы. Теперь они ещё несколько месяцев будут решать, куда двигаться.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 16:20 
Дай скажу гипотезу. Программисты Microsoft в Google перешли?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:53 
чиво? Гугл даже пеинт и косынку не может запилить, о чем речь?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Онаним , 24-Май-20 17:07 
[sarcasm mode on]
Слабо хромиум на электроне переписать?
[sarcasm mode off]
Ну или на хрусте хотя бы.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено proninyaroslav , 24-Май-20 17:34 
>Слабо хромиум на электроне переписать?

Тогда получится бесконечная рекурсия


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено FixingGunsInAir , 24-Май-20 20:39 
Pypy же как-то справляется с ней.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:54 
Всмысле нельзя, если электрон на базе хрома?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Райзер , 24-Май-20 17:22 
MS тужится родить свой форк Rust, возможно его будут использовать для переписывания библиотек

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено FixingGunsInAir , 24-Май-20 20:34 
Пруфы/линк?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:44 
https://www.opennet.dev/opennews/art.shtml?num=51966

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:56 
Наверное патентных претензий мозиллы боится MS? Не смешите меня пожалуйста... Очередной экспериментальный язык по типу зайдет не зайдет, как F# и КВАНТОВЫЙ Q#, ну такое

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Nopomuk , 24-Май-20 17:40 
"Вызваны ошибками при работе с памятью" он вообще умеет с ней работать???

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено FixingGunsInAir , 24-Май-20 20:35 
Chromium - да. Люди, которые его пишут, скорее всего - нет.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Вы забыли заполнить поле Name , 24-Май-20 17:55 
Авторы chromium пришли с посланием... Но анонимы опеннета не поняли его.

Короче, копите деньги на память. В ближайшем будущем она вам понадобиться.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 18:47 
>ться.

Расстрелять. Два раза.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 18:52 
Может понадобиться

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 19:09 
Хорошо, но ты память всё равно купи))

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено th3m3 , 24-Май-20 19:58 
>Короче, копите деньги на память

Зачем? Когда есть Firefox.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Нолекс , 25-Май-20 17:45 
Его в попытках сделать Firefox OS тоже уже давно сломали. А что-то путное сделать так и не шмогли...

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 01:12 
>Короче, копите деньги на память. В ближайшем будущем она вам понадобиться.

Понадобится гораздо раньше из-за мартышколюбви к Electron.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено th3m3 , 24-Май-20 19:57 
Теперь до некоторых дойдёт, зачем Firefox на Rust перешёл?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 21:08 
Зачем?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 23:05 
С++ придумали не они.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 23:08 
C++ вообще вещь в себе, создавался как костыль к Си, таким и остается до сих пор, правда с оговоркой что стал костылем всего и вся

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 23:33 
> С++ придумали не они.

ах если бы из-за этого все, кто не придумал C++, перешли на rust - было бы чудно


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 23:37 
Haskell технологичнее раста

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 04:07 
Я пока не добрался до Haskell, да и о функциональщине пока имею только общее представление, но насколько знаю, он совсем не zero-cost, имеет GC и непредсказуем по производительности. А так да, будет круто, если мы однажды доживем до времени, когда компиляторы функциональных языков будут собирать оптимальный машинный код и можно будет писать кроссплатформенные программы на функциональных языках, агностичных к архитектуре компьютера. Но пока, мне кажется, это все еще исследовательское направление, а Rust как промежуточный шаг: он уже впитал в себя горы функциональных концепций в сравнении с другими императивными языками.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено user , 25-Май-20 12:59 
Слишкам радикальное изменение, лучше начать с Ocaml. Он точно подходит для 90% браузера.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 15:23 
Ну как бы Rust изначально и был диалектом ML, а его первый компилятор был написан на OCaml. Но понятно, что опеннетовскому илитарию на все это пофиг, потому что Rust - модный и молодежный, а значит автоматически не тру, OCaml - нишевый и малоизвестный, а значит автоматически тру. Ясно-понятно. И кто тут еще хипстер?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 23:07 
От крестов не уйти, не спрятаться, они найдут тебя и накажут за все...

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено FixingGunsInAir , 24-Май-20 20:32 
4 слова: С++ in a nutshell

или опасности ручного управления памятью человеками.

Даже в CLR, если бы на нём написали движок, было бы меньше дыр.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 21:09 
шарпик в unsafe позволяет долбится в указатели не хуже крестов

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено FixingGunsInAir , 24-Май-20 21:17 
> шарпик в unsafe позволяет долбится в указатели не хуже крестов

Вот только в unsafe лезть никто не заставляет, кроме случаев, когда используешь с нативные библиотеки, где ручное выделение памяти.

Реализовав банальный IDispose нормально, можно большинство таких проблем избежать.

А если пердолишься с указателями без причины, сам вешаешь на себя ярлык.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 21:26 
Так и я про это же, что не нужно превращать шапр в кресты, если есть кресты, у шарпа своя огромная ниша

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено коржик , 25-Май-20 18:32 
n лет пишу под дотнет, ни разу в unsafe не вляпался. Ни разу не напоролся на UB, разве что только численное переполнение и многопоточка. Но это другая история.

Вот сейчас сижу и думаю, как люди вообще живут с UB. Какие нервы нужно иметь чтобы бороться с ним.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено FixingGunsInAir , 25-Май-20 20:15 
Вы так говорите, словно, если представить сферическую реализацию движка в вакууме на C#, без unsafe в более чем половине классов, этого сделать нельзя.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 11:37 
А класс Marhall тебе зачем, тогда?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:31 
Как будто в Rust нет unsafe.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 23:08 
> Как будто в Rust нет unsafe.

в Java тоже есть и в C# - только все прикладники и весь энтерпрайз его в жизни не встречал, и в rust так же будет


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 23:12 
ну так товарищ выше не шарит шо есть низкоуровневые либы которые пишутся на сях и крестах, а есть высокоуровневые ЯП которые их юзают через стандартные обвязки, иначе говоря прикладник практически никогда не будет копаться в кишках либ, а только их юзать

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 23:07 
А че хаять ручное управление памятью? При нем хотя бы высвобождение аллоцированного в хипе участка детерминировано, в отличие от "сборки мусора". У C++ прописана в стандарте memory model и выработана куча бестпрактисов, как работать с ним так, чтобы не подрываться каждые 5 минут. Если выработана привычка работать с ресурсами через RAII и набита рука на смартпоинтерах, то все не так плохо, как тут пишут. Уж точно лучше, чем ситуация на работе, когда Teamcity CI после суток аптайма мог уйти в denial of service на 15-20 минут в разгар рабочего дня. Спрашиваем у дево псов, че такое, отвечают что у JVM GC случится stop-the-world, чет-то там собирает, ждите. Тьфу. А если говорить про Rust, то бесспорно, у него есть 2 ништяка - это borrow checker и named lifetimes, но memory model стандартизированной пока нет, что плохо. Да и работу пока найти сложно на нём. Но очевидно, что еще лет через 5-10, при наличии полноценной спеки, его будут требовать знать в каждой подворотне, где пишут что-то околосистемное. Уж больно круто, когда zero-cost abstractions действительно такие и большинство вещей можно поймать в compile-time.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 23:33 
Просто растоманы не понимают, что для каждой сферы свой инструмент... Нужно тебе постоянно общаться с си-кодом напрямую без магических unsafe бери C++, хочешь писать быстро и выдавать производительный код бери Java/C#, хочешь писать еще быстрее, но более медленный код, бери пистон или пых(МИНЗДРАВ НЕ РЕКОМЕНДУЕТ), хочешь писать скрипты для линух бери bash, но ни как не C++, а если тебе нужно таблички почекать бери awk

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 08:51 
и получается 100500 зависимостей по библиотекам, которые, по сути, детают одно и тоже.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 23:43 
> Уж точно лучше,
> чем ситуация на работе, когда Teamcity CI после суток аптайма мог
> уйти в denial of service на 15-20 минут в разгар рабочего
> дня. Спрашиваем у дево псов, че такое, отвечают что у JVM
> GC случится stop-the-world, чет-то там собирает, ждите.

чёт мне подсказывает, что ваши девопсы вам напиз^w обманули

у нас тоже как-то время обработки запросов постгресом упало в разы, смотрим - отзывчивость диска глубоко в темноте, а в виртуалке активность стандартная
мы к админам виртуалок, а те "не, у нас ничего, это в ваших программах проблемы"
мы письмо руководству и - опа - всё, диск в норме, постгрес шустрит, наша программа так же


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 20:40 
Сказочный д..указатель

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Оно им , 24-Май-20 20:45 
Ни одного нормального браузера не осталось... :(

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 21:09 
Safari на WebKit наше все

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Оно им , 24-Май-20 21:38 
Ну неее... Не кашерно.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Нонон , 24-Май-20 21:41 
Сафари? Он же второй IE

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 21:46 
Закрытый или фичи свои? Вроде нет

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено th3m3 , 24-Май-20 22:01 
Они любят пилить свои стандарты, а общепринятые - плохо поддерживают. В итоге, все браузеры умеют, а Сафари не торопится поддерживать, что умеют другие, пилит что-то своё. Поэтому, он сейчас занимает трон IE.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:04 
HTML5 и CSS3 поддерживают, ECMAScript в последних редакция поддерживают, HTTP всех версий заверенных нотариальным скриншотом IETF поддерживают... Чего тебе еще надо?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:28 
Safari - код закрыт. Значит, оно только ваше.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:29 
Chrome код закрыт и шо?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:35 
Chromium открыт.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:54 
WebKit открыт

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 23:06 
Но в стагнации.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 23:34 
Apple переходит на Blink?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 23:35 
Apple стагнирует?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 01:02 
Какое мне дело до вашего Яббла?
А по поводу движков. Открываю в браузере на QtWebkit https://html5test.com/ - 342 из 555, открываю тоже в браузере на QtWebengine (код портируется из Blink) - 528 из 555. Результат на лицо.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 01:31 
> QtWebengine

Он сильно с другой архитектурой. QtWebkit не так уж и плох, но там придется многое вручную переизобретать (всякие кодеки прикручивать и web-приложения нормально поддерживать), да и QScript вместо полноценного яваскрипта (тормоз и вряд ли 100% соответствует стандарту).

В QtWebengine почти полноценный хромиум запущен, это лучше на совместимости сказывается.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 02:09 
Ого, ну если Qt перешел на Blink в качестве КОМПОНЕНТА для отображения веб-содержимого который используется чуть менее чем нигде кроме как в браузерах, то все победа? На Qt мир клином сошелся? Чего же на Qt не пилят браузеры, в отличии от GTK который к слову юзает WebKit в тех же целях? Детские у тебя какие то суждения

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним84701 , 25-Май-20 19:28 
>  Чего же на Qt не пилят браузеры, в отличии от GTK

Потому что ... э-э-э ... с разморозкой Вас?

https://www.opennet.dev/opennews/art.shtml?num=50362
> Релиз браузера Falkon 3.1.0, развиваемого проектом KDE

https://www.opennet.dev/opennews/art.shtml?num=52832
> Доступны web-браузеры qutebrowser 1.11.0 и Min 1.14
> Код написан на языке Python с использованием PyQt5 и QtWebEngine.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 02:32 
Приведенный тобой сайт шляпа полная, я только зашел и оказывается chrome не поддерживает стиминговое видео ни MPEG-DASH, ни HLS вот это поворот...

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:25 
Гугелю бы присмотреться к D. Границы массивов в нём проверяются, тоже есть @safe. В последнюю версию 2.092 эталоннго компилятора добавили владение/заимствование. Зато, в отличие от Rust, у него с синтаксисом и объектностью всё красиво.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Вы забыли заполнить поле Name , 24-Май-20 22:31 
Александреску, залогинтесь.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 22:32 
Александреску же ушёл из проекта год назад.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 24-Май-20 23:11 
> Александреску же ушёл из проекта год назад.

а куда ушёл?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 24-Май-20 23:20 
Наверное, неточно выразился: "Андрей Александреску покинул пост заместителя руководителя отдела языка программирования D" https://habr.com/ru/post/471950/

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено burjui , 26-Май-20 20:16 
С синтаксисом всё нормально, ага. Положим, мы хотим написать код с теми же свойствами, что и в Rust по умолчанию (безопасность, производительность, вот это всё):
void foo(Bar b) pure nothrow @safe @live @nogc ...
Радует глаз примерно как картины в стиле кубизма.

ООП - это вообще какой-то наркотик от программирования. Начинается всё с Dog is a subclass of Animal, а заканчивается полной неспособностью написать даже простейший алгоритм без объектов, даже если они там нужны, как собаке - хобот. Так что спорное "преимущество".

И да, у D, в отличии от Rust, всё не очень красиво с его багованным фронтендом компилятора, полусделанными фичами, а также слабыми vision, integrity, type theory и прочими умными словами. Уж извините за англицизмы - профдеформация. Как бы я раньше ни любил D, сейчас в нём просто нет смысла, когда есть альтернативы лучше и надёжнее, а D всё ещё не созрел после почти 20 лет разработки.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Вы забыли заполнить поле Name , 24-Май-20 22:29 
Новость от гугла попахивет желтизной. Не хватает конкретной информации о том, где именно были проблемы. Просто кодовая база довольно большая с большим кол-вом сторонних библиотек и от перехода на прикладного код на rust тот же openssl не станет безопаснее.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 01:18 
Ага, новость шикарная. Все проблемы хрома - other, other-memory-related и use after free. Очень содержательная классификация!

Пускай хоть на питоне переписывают, раз такие смелые... запасаемся попкорном.


"70% проблем с безопасностью в Chromium вызваны ошибками..."
Отправлено dmitriygessus , 24-Май-20 23:43 
> Разработчики проекта Chromium проанализировали 912 опасных и критических уязвимостей,
> выявленных в  стабильных выпусках Chrome с 2015 года, и пришли
> к выводу, что 70% из них были вызваны небезопасной работой с
> памятью (ошибками, при работе с указателями в коде на  C/C++).
> Половина из данных проблем (36.1%) вызвана обращениями к буферу, после освобождения
> связанной с ним памяти (use-after-free)...
> Подробнее: https://www.opennet.dev/opennews/art.shtml?num=53019

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


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Ilya Indigo , 25-Май-20 01:03 
> 70% проблем с безопасностью в Chromium вызваны ошибками при работе с памятью

%{Подавляющее большинство} проблем с безопасностью в %{любое ПО} вызваны ошибками при работе с памятью.

И что сказать-то этой новостью хотел Гугл?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 25-Май-20 10:56 
>> 70% проблем с безопасностью в Chromium вызваны ошибками при работе с памятью
> %{Подавляющее большинство} проблем с безопасностью в %{любое ПО} вызваны ошибками при работе
> с памятью.
> И что сказать-то этой новостью хотел Гугл?

что C/C++ так себе и надо брать что-то другое

зы: *любое ПО на C/C++


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 11:57 
На C++ и даже на C — можно писать безопасно, проблема google в старой кодовой базе в которой код написан как не попадя и переписывать они видимо не хотят.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено red75prim , 26-Май-20 18:15 
Да что там, даже на ассемблере можно писать безопасно. Главное найти эталонных программистов. А с этим сложности. Если их достать из фирменной вакуумной упаковки с надписью "УМВР", то они быстро портятся.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 05:59 
Rust не бывает без unsafe, так что будут те же 70% ошибок с памятью, но в unsafe-коде. И да, в стандартной библиотеке он тоже есть, так что всякие #![forbid_unsafe] для основного крейта не считаются.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 25-Май-20 11:12 
> Rust не бывает без unsafe

бывает без

> так что будут те же 70% ошибок
> с памятью, но в unsafe-коде.

искать ошибки гораздо проще в 10 строках чем в 100500 строках в 105 файлах

> И да, в стандартной библиотеке он
> тоже есть, так что всякие #![forbid_unsafe] для основного крейта не считаются.

у вас жаваскриптеры пишут на C, так как интерпретатор JS использует libc


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 11:59 
Именно так, первое что сделают гуглопрограмисты — это понатыкают везде unsafe и через 5 лет будет такая же статья уже про rust.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Сишник , 25-Май-20 08:44 
Можно ж для любого языка с указателями сделать borrow cheker как в расте и рефакторить по кусочкам, дёшево и надёжно.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 25-Май-20 14:49 
> Можно ж для любого языка с указателями сделать borrow cheker как в
> расте и рефакторить по кусочкам, дёшево и надёжно.

в rust это в момент компиляции считается почти во всех случаях
так можно сделать для любого языка с указателями?


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 15:28 
> почти во всех случаях

Если «почти во всех случаях», то очевидно что да, разница будет только в количестве этих случаев.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено burjui , 26-Май-20 20:23 
Так что же тогда его не сделают для C++? Не потому ли, что это потребует тотальной переработки языка с выбрасыванием legacy и сломает почти все приплюснутые проекты так, что придётся переписывать больше половины кода?

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Сишник , 26-Май-20 22:43 
Естественно, код придётся переписывать, но не на другой язык и не весь сразу. Отдельный от компилятора чекер может выборочно исходники проверять, соответственно будет safe и unsafe часть проекта, прямо как известно где.

"70% проблем с безопасностью в Chromium вызваны ошибками..."
Отправлено Аноним , 25-Май-20 10:41 
> 70% из них были вызваны небезопасной работой с
> памятью (ошибками, при работе с указателями в коде на  C/C++).

Однако забыли упомянуть, что абсолютное большинство этих дыр появились из за новомодных фич, которым в обозревателе интернета не место. FileAPI,WebRTC,Video,Audio кодеки,Sqlite и т.д.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 10:47 
Выкинуть JIT и использовать нормальные ядра ОС.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено bOOster , 25-Май-20 13:12 
Блин, пока корпорации не вернут профессиональных программистов в разработку, хотя-бы на контроль кода можно будет цитировать только басню Крылова с оконцовкой
«Чтоб музыкантом быть, так надобно уменье
                   И уши ваших понежней, —
                   Им отвечает Соловей, —
                   А вы, друзья, как ни садитесь,
                   Всё в музыканты не годитесь».

И все эти дрязги с рустом и т.п. как раз напоминают пересаживание с места на место. Прям как в басне.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 15:47 
Каких "профессиональных"?
Более профессиональных чем написали дыру Heartbleed в OpenSSL?
Или в memcpy для Glibc (ARM)?
Или в FreeBSD (недавно целая пачка была, большая часть из-за памяти)?
Или... или... да ведь тысячи их!

Потому что каждый раз когда такая лажа случается, сразу начинается "это не настоящий C++ программист, вот настоящий бы сделал все правильно!"


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено burjui , 26-Май-20 20:38 
Некоторые особо приплюснутые мне напоминают драчунов-теоретиков, которые верят в эффективность айкидо в уличной драке и изучают ножевой бой. В голове у них - сплошь влажные фантазии об идеальных героях из художественной литературы, которые всё всегда делают правильно. Вот придёт настоящий программист - и всё-всё напишет так правильно, что не будет ни одного бага, а код будет легко читаем, быстр и легко расширяем. Осталось только его найти. А лучше десятка два, чтобы проект дошёл до альфы чуть ранее, чем через 30 лет.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 16:04 
потому что обезьянки не умеют с памятью. а не c\C++ они толко свой *script могут.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 25-Май-20 16:37 
не перепишут на rust,  нет ни виджетов ни инфраструктуры, толко на вставки rust и годится

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 13:28 
Главное, что раст, как показала уже многолетняя практика, подходит для больших проектов не лучше, чем Си.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено burjui , 26-Май-20 20:39 
Аргументируйте, будьте так любезны.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 22:30 
Посмотри на флагманский растопроект - вечнонедоделанный падучий бажный servo. Остальные не лучше. Всё, что больше небольшой библиотечки - такое.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Нолекс , 25-Май-20 18:12 
Давно бы свалил на Midori или NetSurf (вчера, кстати вышла 3.10), если бы не нужда по работе в некоторых дополнениях...

Что FF, что Chrome раздуют браузер до неполноценной ОС, а потом жалуются...

Дональд наш Кнут про что говорил? Не можешь за раз воспринять файл с исходным кодом - разбей на несколько более мелких кусков, внимательно прочитай и изучи. Причём тут язык программирования?

А этих макак, пишущих в режиме онлайн по десятку одновременно в одном текстовом редакторе я вообще не понимаю... Если равнозначны и ответственны все, значит не ответственен никто. И нафиг нужна такая разработка?

Спору нет, языки с чистильщиками памяти найдут своё применение. Но почему бы тогда сразу не использовать интерпретаторы? Тот же мышезмей (Python) имеет привязки чуть ли не к каждому пакету GNU. Bash вообще родной для *nix. Нет, нам надо выпендриться и использовать что-то инородное...

На дотнет пусть переходят. Приспичит, форкану нужные мне плагины под один из вышеупомянутых и пересяду. Задолбали эти сопли. Шёл 2 десяток 21 века...


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Оно им , 25-Май-20 20:09 
Ну, Мидори до нормального браузера ещё как до Луны. Бажное нестабильное поделие.
Есть еще подобное - Выдра и Орёл. Нерасширяемые кривые поделки. Которые даже работать адекватно не могут в современном вэбе.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 10:21 
Какие, нафиг, «Разработчики проекта Chromium»? Это «Chromium security team».

«The Chromium security team aims to provide Chrome and Chrome OS users with the most secure platform to navigate the web, and just generally make the Internet a safer place to hang out. We work on solutions for the biggest user / ux security problems, drive secure architecture design and implementation projects for the Chromium platform, find and help fix security bugs, help developers to create more secure apps, and act as a general security consulting / review group for the larger Chromium project».

Профессиональными разработчиками они не являются и не являлись. Их писанина — стандартный набор SJW-бредятины.

«We still have a lot of code that violates this rule. For example, until very recently, all of the network stack was... We now have the network stack in its own dedicated process, and have begun the process of reducing that process' privilege».

Перевожу: ни сделано н..я, кроме переусложнения архитектуры на ровном месте, но мы «движемся».

Судя по всему, настоящие разработчики относятся к «творчеству» security team положительно. Ложат, т.е. Точнее — кладут.

Короче говоря, это — частное мнение одной отдельно взятой команды внутри одного из проектов Гугла, и на истину ну уж никак не претендует.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 13:24 
Такое впечатление, что уволенные из Мозиллы по причине финансовых проблем разработчики, которые так и не смогли переписать больше пары процентов кода лисы на расте, просто хотят устроиться в Гугл.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Anonim , 26-Май-20 14:07 
Конечно, хотят. Там зарплаты больше.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 13:41 
Саттера слушать не хотят, хотят продолжать плевать на лучшие практики и писать на своём недоC++ без исключений и с raw-указателями. https://pspdfkit.com/blog/2020/the-cpp-lifetime-profile/

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Anonim , 26-Май-20 14:37 
Сейчас вообще перестали мочь писать код грамотно, минимальным по весу, по размеру, по жручести, никто за собой не подчищает, не оптимизирует. Раздуют программу, как дирижабль. И хрен с ним, и так схавают.
Тока давай обновления строчить каждый день. Не до оптимизации тут.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено burjui , 26-Май-20 21:04 
Вам не приходило в голову, что современное ПО намного функциональнее и сложнее, чем 20 лет назад? Я не говорю о поделках вроде калькулятора на electron, разумеется. К примеру, первые компиляторы генерировали отвратительный, по современным меркам, машинный код, потому что представляли собой простые прямолинейные трансляторы, просто неспособные, в силу своего устройства, на какой-либо анализ. Понадобились десятилетия работы лучших программистов и математиков, чтобы разработать алгоритмы, которые могут сгенерировать хороший код (лучше, чем напишут даже топовые программисты) за приемлемое время, а также соответствующие структуры данных и промежуточные представления кода (то же SSA). Как результат, хороший компилятор уже не напишешь в 2000 строк, и работает он медленнее, но и результат лучше на порядок, и иногда и на несколько.

Что-то я сомневаюсь, что нормальный человек готов отказаться от благ цивилизации и, грубо говоря, пересесть на DOS, где всё написанное на C и асме "летает", но имеет 10% современного функционала.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Anonim , 28-Май-20 20:42 
Вот поэтому и имеем то что имеем. И с каждым годом все хуже и хуже. С точки зрения качества и изготовления. Такие "блага цивилизации" с суперпуперфункционалом, который не нужен и половине пользователей. Но зато хорошее оправдание постоянных дыр, заплаток, патчей, багов и т.д. Ну как же, всё же усложняется. Только ответственность и качество работы не улучшаются. И нормального классического вэба давно нет. Там где появляются "продвинутый функционал и блага" всё почему-то превращается в помойку. :)

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено burjui , 28-Май-20 21:05 
Главная причина превращения софта в помойку - капитализм. В условиях рынка заниматься полировкой кода невыгодно, ведь на это нужно время, которое можно потратить на прикручивание очередной фичи. Если улучшения не видны невооружённым глазом, дядя с деньгами будет недоволен производительностью разраба и предпочтёт нанять вместо него двух говнокодеров за те же деньги, которые будут молча пилить столько фич, сколько требуется для завлечения новых лохов, то есть, я хотел сказать, пользователей.

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


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Michael Shigorin , 28-Май-20 21:37 
> Главная причина превращения софта в помойку - капитализм.

А железа -- социализм?  Напомнить, как у нас практически железа-то не осталось своего?..

Ох уж мне эти политиканы мамкины.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено burjui , 28-Май-20 21:48 
Напомните, интересно.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Michael Shigorin , 28-Май-20 22:06 
> Напомните, интересно.

1967 год, замена своих разработок клонами (СМ и ЕС)... по сути выжил тогда только эльбрус, и то благодаря военным.

См., скажем, http://www.olap.ru/home.asp?artId=2148


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 16:07 
пусть перепишут хром на единственном нормальном языке программирования, на C#

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 16:51 
Спасибо, интернет эксплорер они уже переписали.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 17:14 
Спасибо, посмеялся

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 27-Май-20 12:59 
Ага, и ОС тоже. А потом пусть сами на нее свалят и там этим всем пользуются.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 17:14 
Все говорят что раст безопаснее, но никто не говорит почему. Борроу чеккер не допилили, больше причин почему он безопаснее С++ я не знаю.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 17:56 
А чего там в борроу чекере не доделано? Там другая проблема: этот борроу чекер настолько замусорил синтаксис и усложнил язык, что он может претендовать на звание самого ужасного и неудобного. При том, что там даже нет ни исключений, ни наследования поведения (читай ООП).

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено burjui , 26-Май-20 21:30 
Да не особо усложнил, честно говоря. Использовать ссылки везде и всюду никто не заставляет, и часто с точки зрения логики алгоритма или производительности это даже не имеет смысла. В подавляющем большинстве случаев никаких затруднений borrow checker не вызывает, просто у него довольно крутая кривая обучения, но это лечится практикой. Я уже давно пишу правильный с его точки зрения код на автомате, а если он иногда и грозит пальцем, то это стопроцентно мой косяк, который в том же C++ просто молча выстрелит в ногу, и не обязательно сразу. Короче, обычный навык, который нужно тренировать.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено burjui , 26-Май-20 21:50 
Кто "все"? В официальной документации предельно понятно разжёвано, как и почему. Просто вам лень читать, и у вас предвзятое мнение о языке, не в последнюю очередь сформированное местными консерваторами и мифическими гуру C++, для которых всё новое - говно для вебмакак. Другой синтаксис - глаза вытекают, другая идеология - вытекают мозги. Лучше ведь сидеть на жопе ровно и следующие 10 лет бодро шагать по граблям привычным маршрутом. Зато можно хвастаться, как ты ловко умеешь от них уворачиваться, вдыхая аромат очередной свеженапечатанной книги "55 секретов профессионального граблехода".

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 26-Май-20 22:22 
Чувак, ты в курсе сколько между C++98 и С++20 было редакций стандарта C++ и в чем они заключались? Когда твой раст наберет хотя-бы десятую часть кодовой базы плюсов, при этом не потеряв способность меняться и приобретать новые свойства, сохраняя преемственность, тогда и поговорим.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 20-Авг-20 23:08 
В Расте для этого есть редакции (Editions). Подобное хотят притащить к себе плюсовики, в виде эпох (Epochs).

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним , 27-Май-20 15:04 
Если бы Раст имел лицензию GPL v3+, то Гугл бы и не посмотрел в его сторону. Раст пермиссивен поэтому нравится копирастам.

"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено Аноним84701 , 27-Май-20 17:10 
> Если бы Раст имел лицензию GPL v3+, то Гугл бы и не посмотрел в его сторону. Раст пермиссивен поэтому нравится копирастам.

А можно с этого момента поподробнее, о мудрый и всезнающий неномерной тезка?
https://github.com/sapir/gcc-rust
> Rust frontend for GCC

https://github.com/sapir/gcc-rust/blob/rust/COPYING3
> GNU GENERAL PUBLIC LICENSE
>  Version 3, 29 June 2007


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено burjui , 28-Май-20 01:45 
Во-первых, это лицензия этого конкретного фронтенда, а не rustc и иже с ними.

Во-вторых:
"This is currently at a very early stage. At the time of writing, it can compile trivial functions, like:
fn my_function(x: i32) -> i32 { x }
But most language features don't work yet."
То есть, практически неюзабельно.

В-третьих, лицензия Rust потому и называется пермиссивной, что снимает обязательства по открытию кода производных работ, так что взять пермиссивные сорцы и сделать из них GPL-продукт можно, но наоборот нельзя. На это и указывает комментатор выше. Впрочем, я с ним несогласен, т.к. тот же Linux используется Google'ом, при этом имея лицензию GPL. Просто у них уже трещины в черепе от плюсовых граблей.


"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Отправлено JL2001 , 31-Май-20 13:26 
попалась статья несколько расширяющая/объясняющая термин "безопасность rust"
https://habr.com/ru/post/492410/