Bugtraq mailing list archives
Re: Symlinks and Cryogenic Sleep
From: babinebell () TRUSTCENTER DE (Goetz Babin-Ebell)
Date: Tue, 4 Jan 2000 12:11:19 +0100
At 21:24 03.01.00 +0100, Olaf Kirch wrote:
Hi all,
Hallo Olaf,
when you're dealing with files in /tmp that are supposed to be re-opened (rather than opened once and then discarded) there's an established way to do it which goes like this: if (lstat(fname, &stb1) >= 0 && S_ISREG(stb1.st_mode)) { fd = open(fname, O_RDWR); if (fd < 0 || fstat(fd, &stb2) < 0 || ino_or_dev_mismatch(&stb1, &stb2)) raise_big_stink() } else { /* do the O_EXCL thing */ }
I did something that way: FILE *DoOpen(const char *cpFile, long bAppend) { FILE *spNew; FILE *spTest; struct stat sStat; spTest = fopen(cpFile,"a"); if (!spTest) { Log("ERR FILE OPEN",cpFile); return NULL; } if (lstat(cpFile,&sStat)) { Log("ERR STAT",cpFile); return NULL; } if ((sStat.st_mode & S_IFMT) == S_IFLNK) { fclose(spTest); Log("ERR ISLINK",cpFile); return NULL; } if (bAppend) spNew = spTest; else { spNew = freopen(cpFile,"w",spTest); fclose(spTest); } if (!spNew) { Log("ERR FILE OPEN",cpFile); return NULL; } return spFile; } Comments ? Improvements ? By Goetz -- Goetz Babin-Ebell, TC TrustCenter GmbH, http://www.trustcenter.de Sonninstr. 24-28, 20097 Hamburg, Germany Tel.: +49-(0)40 80 80 26 -0, Fax: +49-(0)40 80 80 26 -126
Current thread:
- Symlinks and Cryogenic Sleep Olaf Kirch (Jan 03)
- Re: Symlinks and Cryogenic Sleep Mark A. Heilpern (Jan 03)
- Re: Symlinks and Cryogenic Sleep Casper Dik (Jan 04)
- Re: Symlinks and Cryogenic Sleep Olaf Kirch (Jan 04)
- Re: Symlinks and Cryogenic Sleep Henrik Nordstrom (Jan 04)
- First Telecom E-conso service totally insecure Thomas Quinot (Jan 03)
- Re: Symlinks and Cryogenic Sleep Goetz Babin-Ebell (Jan 04)
- Re: Symlinks and Cryogenic Sleep pedward () WEBCOM COM (Jan 04)
- Re: Symlinks and Cryogenic Sleep Christos Zoulas (Jan 04)
- Re: Symlinks and Cryogenic Sleep Mikael Olsson (Jan 05)
- Re: Symlinks and Cryogenic Sleep Marc Heuse (Jan 05)
- Re: Symlinks and Cryogenic Sleep Wietse Venema (Jan 04)
- Re: Symlinks and Cryogenic Sleep Pavel Machek (Jan 04)
- Security problem with Solstice Backup/Legato Networker recover command Chris Siebenmann (Jan 04)
- Local / Remote D.o.S Attack in IMail IMONITOR Server for WinNT Version 5.08 Ussr Labs (Jan 05)
- Re: Symlinks and Cryogenic Sleep Pavel Kankovsky (Jan 05)
- [RHSA-2000:002] New lpr packages available Bill Nottingham (Jan 07)
(Thread continues...)
- Re: Symlinks and Cryogenic Sleep Mark A. Heilpern (Jan 03)