|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Konstantin Tokar 2:5020/400 11 Feb 2005 03:26:13 To : Victor Wagner Subject : Re: Какой язык программирования выбрать? --------------------------------------------------------------------------------
Victor Wagner wrote:
> Hапример, potential vulnerability был сочтен в вот таком коде:
>
> unsigned short unicode_char;
> char buffer[8];
> sprintf(buffer,"\x%X",unicode_char);
>
> Вопрос к знатокам работы со строками в C - каким условиям должны
> удовлетворять компилятор и ОС, чтобы в данном коде произошло
> переполнение буфера. (не будем пока рассматривать вопрос о отм, откуда
> берется значение unicode_char)
Hа С я не писал несколько лет, но наверно во всех современных системах
будут переполнение, если \x хотя бы один байт занимает. Hаверно,
unsigned int теперь везде не меньше четырёх байтов. Hаверно, результат
будет зависеть ещё и от выравнивания.
--- ifmail v.2.15dev5.3
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/65771b881694.html, оценка из 5, голосов 10
|