The OpenNET Project / Index page

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



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

Оглавление

Проекта по интеграции с Qt web-движка Servo, развиваемого на языке Rust, opennews (??), 09-Апр-24, (0) [смотреть все]

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


100. "Проекта по интеграции с Qt web-движка Servo, развиваемого на..."  +/
Сообщение от Аноним (100), 09-Апр-24, 21:52 
Объясните мне доходчиво, как при индексации массива, зная длину буфера, когда счетчик достигнет нуля, впринципе возможно выйти за границы?
Вот где здесь

while(--i) {
    // do stuff
}

возможно за границы выйти?

Или вот

free(ptr);
ptr=nullptr;

решает абсолютно все проблемы

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

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

102. "Проекта по интеграции с Qt web-движка Servo, развиваемого на..."  +/
Сообщение от Аноним (100), 09-Апр-24, 21:57 
*вернее, даже так
while(--i != 0)
Ответить | Правка | Наверх | Cообщить модератору

137. "Проекта по интеграции с Qt web-движка Servo, развиваемого на..."  +4 +/
Сообщение от Аноним (137), 10-Апр-24, 08:30 
> *вернее, даже так

while(--i != 0)

Поздравляю, ты уже вышел за пределы буфера, если i изначально 0.

Еще более доходчивые объяснения нужны?

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

103. "Проекта по интеграции с Qt web-движка Servo, развиваемого на..."  +4 +/
Сообщение от Аноним (103), 09-Апр-24, 22:00 
> Объясните мне доходчиво, как при индексации массива, зная длину буфера, когда счетчик
> достигнет нуля, впринципе возможно выйти за границы?
> while(--i) {
>     // do stuff
> }
> возможно за границы выйти?

А ты обращайся не в цикле, а просто к элементу.
Или вычисляй i в условной конструкции которая зависит от десятка условий и фазы луны.

> free(ptr);
> ptr=nullptr;

А если у тебя несколько потоков? И объекто создается где-то в одном месте, а умирает в совершенно другом

> решает абсолютно все проблемы

Но пограммисты на си-шке их так и не смогли решить.

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

Нужно быть разрабом ядра)

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

129. "Проекта по интеграции с Qt web-движка Servo, развиваемого на..."  +/
Сообщение от Аноним (129), 10-Апр-24, 02:43 
> А ты обращайся не в цикле, а просто к элементу.
> Или вычисляй i в условной конструкции которая зависит от десятка условий и
> фазы луны.

Как здесь, например
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-28448
?

> А если у тебя несколько потоков? И объекто создается где-то в одном
> месте, а умирает в совершенно другом

как здесь например
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-32810
?

>> решает абсолютно все проблемы
> Но пограммисты на си-шке их так и не смогли решить.

как видим, раста-мани тож нишмагли.

> Нужно быть разрабом ядра)

или ржавым сектантом)

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

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

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




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

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