The OpenNET Project / Index page

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



"Lunatik - инструментарий для создания в ядре Linux обработчиков на языке Lua"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для слежения за появлением новых сообщений в нити, нажмите "Проследить за развитием треда".
. "Lunatik - инструментарий для создания в ядре Linux обработчи..." –1 +/
Сообщение от Аноним (-), 22-Апр-24, 17:32 
> Ля, я думал там что-то настоящее, то что имеет место быть в реальном коде и даёт разный результат.

Вот тебе пример настоящего и вполне реального кода
opennet.ru/opennews/art.shtml?num=58612
"устранена уязвимость, позволяющая поднять свои привилегии в системе бла-бла"

Фикс выглядит так
-        else
+        else {
             free(to->button->xkb_acts);
+            to->button->xkb_acts = NULL;
+        }
gitlab.freedesktop.org/xorg/xserver/-/commit/0ba6d8c37071131a49790243cdac55392ecf71ec

Это происходит по причине того, что в дыряшке очень любят пихать UB куда надо и не надо
J.2:
The behavior is undefined in the following circumstances:
...
- The value of a pointer that refers to space deallocated by a call to the free or realloc function is used (7.20.3).

> Но в любом случае это UB и так писать нельзя.

Но пишут. Причем в реальном, много где используемом софте!

> Ты покажи нормальный код без UB и где результат разный на разных версиях компилятора

Ты лучше покажи мне программу на СИ без UB/IB/ID и тд))
Я уже молчу, что только в С99 как минимум 193 варианта UB.

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

Оглавление
Lunatik - инструментарий для создания в ядре Linux обработчиков на языке Lua, opennews, 22-Апр-24, 09:22  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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