IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   scanf buffer overflow (http://www.imho.ws/showthread.php?t=99619)

gvidon 07.02.2006 16:59

scanf buffer overflow
 
Все говорят что функция scanf подверженна возможному переполнению стека или кучи. Есть и куча примеров которые наглядно показывают в чем и где проблема.
Все примеры относяся к scanf(%s, s). и нигде ничего не написано про scanf(%x).
Есть ли в функции scanf с параметром %x возможность переполнения стека? Не могу найти информацию вообще, может кто-то на форуме знает?

Спасибо

joker99 07.02.2006 22:56

Насколько я понимаю, переполнение буфера возможно только в том случае когда заранее его размер неизвестен(как в scanf(%s, s)). при использовании scanf(%x) размер ввода известен и переполения буфера поидеее не должно быть.

HUNTER_NAW 25.02.2006 18:56

Возможно переполнение, например:
short int c;// 2 байта
scanf("%d",&c);
Читает число с клавы и записывает в слово(4 байта) по адресу с.
Но это может не сказатся плохо, при исользовании выравнивания по слову

Willow 25.02.2006 23:49

Предыдущий пример демонстрирует ошибку прогаммиста а не ошибку переполнения буфера. Предыдущий пример всегда будет приводить к ошибке (если конечно отключено выравнивание), а ошибки переполнения буфера при вводе корректных данных работают нормально , поэтому они значительно более неприятны.


Часовой пояс GMT +4, время: 11:33.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.