The OpenNET Project / Index page

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



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

Оглавление

Оценка эффективности применения MiraclePtr для предотвращения уязвимостей в Chrome , opennews (??), 23-Янв-24, (0) [смотреть все]

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


43. "Оценка эффективности применения MiraclePtr для предотвращени..."  +1 +/
Сообщение от mister_0 (?), 23-Янв-24, 23:52 
но если всё переписать на unique, shared и weak ptrs, то double free и use after free станут невозможными, разве это не профит???
Ответить | Правка | Наверх | Cообщить модератору

50. "Оценка эффективности применения MiraclePtr для предотвращени..."  +2 +/
Сообщение от 12yoexpert (ok), 24-Янв-24, 00:51 
разыменовывать нулевые smart pointers законом запретили? кажется, я что-то пропустил
Ответить | Правка | Наверх | Cообщить модератору

59. "Оценка эффективности применения MiraclePtr для предотвращени..."  +/
Сообщение от anonymmm (?), 24-Янв-24, 12:08 
такое разименование легко заменить, процесс грохнется с pagefault, проблема же, что используются адреса, по которым уже освобождён объект и состояние памяти в неизвестном состоянии.
Ответить | Правка | Наверх | Cообщить модератору

61. "Оценка эффективности применения MiraclePtr для предотвращени..."  –1 +/
Сообщение от n00by (ok), 24-Янв-24, 12:17 
> используются адреса, по которым уже освобождён объект

Очень хочется увидеть пример кода для unique_ptr<>.

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

60. "Оценка эффективности применения MiraclePtr для предотвращени..."  –1 +/
Сообщение от n00by (ok), 24-Янв-24, 12:15 
> разыменовывать нулевые smart pointers законом запретили?

20.11.1.2.4  Observers  [unique.ptr.single.observers]

add_lvalue_reference_t<T> operator*() const;

1 Preconditions: get() != nullptr.

2 Returns: *get().


16.5.4.11  Expects paragraph  [res.on.expects]

1 Violation of any preconditions specified in a function’s Preconditions: element results in undefined behavior.

> кажется, я что-то пропустил

Совершенно точно. Момент, когда программистов заменили на пользователей библиотек и упаковщиков кода.

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

62. "Оценка эффективности применения MiraclePtr для предотвращени..."  +1 +/
Сообщение от 12yoexpert (ok), 24-Янв-24, 12:32 
> 1 Violation of any preconditions specified in a function’s Preconditions: element results in undefined behavior.

ты такой остряк, в квн не пробовал выступать?

специально для тебя разжую: что мешает ошибочно или специально разыменовать нулевой автоматический указатель? выше написано "то double free и use after free станут невозможными," - в каком месте use after free станет невозможным?

с появлением поколения "тред не читал, комментить побежал" мы и заимели electron и rust

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

66. "Оценка эффективности применения MiraclePtr для предотвращени..."  –2 +/
Сообщение от n00by (ok), 24-Янв-24, 17:23 
>> 1 Violation of any preconditions specified in a function’s Preconditions: element results in undefined behavior.
> ты такой остряк, в квн не пробовал выступать?
> специально для тебя разжую: что мешает ошибочно или специально разыменовать нулевой автоматический
> указатель?

Тебе ничего не мешает. Я могу это запретить - мне это разрешил стандарт:

3.30  [defns.undefined]  undefined behavior

behavior for which this document imposes no requirements

[Note 1 to entry: Undefined behavior may be expected when this document omits any explicit definition of
behavior or when a program uses an erroneous construct or erroneous data. Permissible undefined behavior
ranges from ignoring the situation completely with unpredictable results, to behaving during translation or
program execution in a documented manner characteristic of the environment (with or without the issuance
of a diagnostic message), to terminating a translation or execution (with the issuance of a diagnostic message).
Many erroneous program constructs do not engender undefined behavior; they are required to be diagnosed.
Evaluation of a constant expression never exhibits behavior explicitly specified as undefined in Clause 4
through Clause 15 of this document (7.7). — end note]

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

68. "Оценка эффективности применения MiraclePtr для предотвращени..."  +1 +/
Сообщение от 12yoexpert (ok), 24-Янв-24, 20:38 
> Тебе ничего не мешает. Я могу это запретить - мне это разрешил стандарт:

ясно, ты тугенький на отсутствующий ум. даже не знаю, можно ли такому овощу слив засчитать

> в каком месте use after free станет невозможным?

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

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

79. "Оценка эффективности применения MiraclePtr для предотвращени..."  +/
Сообщение от n00by (ok), 25-Янв-24, 10:25 
>>>> разыменовывать нулевые smart pointers законом запретили?
>>> 1 Preconditions: get() != nullptr.
>> в каком месте use after free станет невозможным?
> у тебя ещё со зрением проблемы

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

И передёргивать #43 ты принялся совершенно напрасно, поскольку автор, в отличие от тебя, умеет читать стандарт:

20.11.1.2.5  Modifiers  [unique.ptr.single.modifiers]

pointer release() noexcept;

1 Postconditions: get() == nullptr.

2 Returns: The value get() had at the start of the call to release.

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

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

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




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

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