Page MenuHomeFreeBSD

D21634.diff
No OneTemporary

D21634.diff

Index: head/lib/libc/sys/open.2
===================================================================
--- head/lib/libc/sys/open.2
+++ head/lib/libc/sys/open.2
@@ -28,7 +28,7 @@
.\" @(#)open.2 8.2 (Berkeley) 11/16/93
.\" $FreeBSD$
.\"
-.Dd June 14, 2019
+.Dd September 17, 2019
.Dt OPEN 2
.Os
.Sh NAME
@@ -419,6 +419,11 @@
.It Bq Er EISDIR
The named file is a directory, and the arguments specify
it is to be modified.
+.It Bq Er EISDIR
+The named file is a directory, and the flags specified
+.Dv O_CREAT
+without
+.Dv O_DIRECTORY .
.It Bq Er EROFS
The named file resides on a read-only file system,
and the file is to be modified.
Index: head/sys/kern/vfs_vnops.c
===================================================================
--- head/sys/kern/vfs_vnops.c
+++ head/sys/kern/vfs_vnops.c
@@ -264,6 +264,10 @@
error = EEXIST;
goto bad;
}
+ if (vp->v_type == VDIR) {
+ error = EISDIR;
+ goto bad;
+ }
fmode &= ~O_CREAT;
}
} else {

File Metadata

Mime Type
text/plain
Expires
Sat, Jan 11, 7:35 AM (2 h, 35 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15751808
Default Alt Text
D21634.diff (982 B)

Event Timeline