The OpenNET Project / Index page

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



"70% проблем с безопасностью в Chromium вызваны ошибками при ..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Второй уровень иерархии тем в форуме реализован через вкладку "Показ ключевых тем".
. "70% проблем с безопасностью в Chromium вызваны ошибками при ..." +1 +/
Сообщение от Ordu (ok), 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 ссылаются на непересекающиеся куски памяти. На самом деле это и мне может быть неочевидно в каких-то случаях, и мне отдельно придётся размышлять над этим.

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

Оглавление
70% проблем с безопасностью в Chromium вызваны ошибками при ..., opennews, 24-Май-20, 14:02  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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