The OpenNET Project / Index page

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



"Обновление libpng 1.6.27 с устранением уязвимости"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для контроля за появлением новых сообщений - перед выходом жмите "Пометить прочитанным".
. "Обновление libpng 1.6.27 с устранением уязвимости" +/
Сообщение от Crazy Alex (ok), 31-Дек-16, 18:08 

#include <stdio.h>
#include <errno.h>

int main(void)
{

<-->int x, r, err;
<-->printf("Please enter x: ");
<-->errno=11;
<-->r = scanf("%d", &x);
<-->err = errno;
<-->printf("r=%d, x=%d, err=%d", r, x, err);

return 0;
}


Вот это при вводе 9999999999999999999999999999999999999999 возвращает 1, устанавливая x в 2147483647 и errno в ERANGE.

Оно же при вводе 2147483647 возвращает 1, устанавливая x в 2147483647 и НЕ МЕНЯЯ errno.

Когда вы хотите проверять errno - устанавливайте его в 0, если не хотите сюрпризов. Масса функций меняет его только в случае ошибки.

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

Оглавление
Обновление libpng 1.6.27 с устранением уязвимости, opennews, 30-Дек-16, 10:54  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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