[devel] NMU: fortune-mod, U: fortunes-ALT

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Пн Июн 2 12:18:09 MSD 2003


On Mon, Jun 02, 2003 at 03:15:57AM +0400, Grigory Batalov wrote:
>   char temp_filename[256];


256 - маловато будет

>   ...
>   if (!(ptr = getenv ("TMPDIR")))
>      fatal_error (2, "TMPDIR");

Не будет работать, если TMPDIR не определён.

>   snprintf (temp_filename, 256, "%s/linpopup.XXXXXX", ptr);

Нет проверки, поместилось ли имя файла в буфер.

>   file_handle_temp = mkstemp (temp_filename);

Нет проверки на код возврата.

>   write (file_handle_temp, message_text, strlen (message_text));

Запись в непроверенный дескриптор.

>   close (file_handle_temp);
>   ...
>   unlink (temp_filename);

Race condition.
unlink должен быть сразу после mkstemp, и обязательно до close.


Похоже на набор граблей, а не на работоспособный код, верно?


--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20030602/da33aae9/attachment-0001.bin>


Подробная информация о списке рассылки Devel