[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