Date: 4 Nov 2001 01:08:10 -0000
From: Jos Backus <josb@cncdsl.com>
To: FreeBSD-gnats-submit@freebsd.org
Subject: kern/31742: open("/dev/null", O_TRUNC) broken on -current
Message-ID: <20011104010810.34035.qmail@lizzy.bugworks.com>
next in thread | raw e-mail | index | archive | help
>Number: 31742
>Category: kern
>Synopsis: open("/dev/null", O_TRUNC) broken on -current
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat Nov 03 17:10:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: Jos Backus
>Release: FreeBSD 5.0-CURRENT i386
>Organization:
none
>Environment:
System: FreeBSD lizzy.bugworks.com 5.0-CURRENT FreeBSD 5.0-CURRENT #17: Sat Nov 3 15:04:31 PST 2001 jos@lizzy.bugworks.com:/disk0/usr/obj/usr/src/sys/LIZZY i386
lizzy:/tmp% ls -ld /dev
dr-xr-xr-x 4 root wheel 0 Nov 3 07:15 /dev
lizzy:/tmp% ls -l /dev/null
crw-rw-rw- 1 root wheel 2, 2 Nov 3 17:04 /dev/null
lizzy:/tmp%
>Description:
open("/dev/null", O_TRUNC) fails with EPERM.
>How-To-Repeat:
lizzy:/tmp% cat c.c
#include <stdio.h>
#include <fcntl.h>
int
main(int argc, char *argv[])
{
char *s = "string";
int fd;
int flag = 0;
if (argc > 1) flag = O_TRUNC;
if ((fd = open("/dev/null", O_CREAT|O_WRONLY|flag)) == -1)
err(1, "open");
write(fd, s, strlen(s));
close(fd);
exit(0);
}
lizzy:/tmp% make c
cc -O -pipe -march=pentiumpro c.c -o c
lizzy:/tmp% ./c
lizzy:/tmp% ./c 1
c: open: Operation not permitted
lizzy:/tmp%
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011104010810.34035.qmail>
