From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 2 Jun 2003 12:18:09 +0400 From: "Dmitry V. Levin" To: ALT Devel discussion list Subject: Re: [devel] NMU: fortune-mod, U: fortunes-ALT Message-ID: <20030602081809.GC8759@basalt.office.altlinux.org> Mail-Followup-To: ALT Devel discussion list References: <20030601221932.GA631@hell.devel.altlinux.ru> <20030602031557.633fe4e1.bga@altlinux.ru> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="L6iaP+gRLNZHKoI4" Content-Disposition: inline In-Reply-To: <20030602031557.633fe4e1.bga@altlinux.ru> X-fingerprint: 9658 398D 181B 1200 8FC5 26B8 F6F8 846B C1E2 3429 Sender: devel-admin@altlinux.ru Errors-To: devel-admin@altlinux.ru X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: devel@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: --L6iaP+gRLNZHKoI4 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit 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 --L6iaP+gRLNZHKoI4 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE+2whB9viEa8HiNCkRAmOjAJ9OzFxuL1G5ffXsPzXIddcSXaB3/ACaAxS3 A1LLPptwV+SWoQ8njbzkhR8= =qzPn -----END PGP SIGNATURE----- --L6iaP+gRLNZHKoI4--