summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>2015-09-01 18:26:19 +0000
committerderaadt <deraadt@openbsd.org>2015-09-01 18:26:19 +0000
commit1355f9f54497cea33eade683c46b93855cd884c2 (patch)
treefc43a4d88470b40f949b958adaa6f6477e28e177
parentBind the *:514 UDP socket of syslogd with SO_REUSEADDR. This avoids (diff)
downloadwireguard-openbsd-1355f9f54497cea33eade683c46b93855cd884c2.tar.xz
wireguard-openbsd-1355f9f54497cea33eade683c46b93855cd884c2.zip
the special check logic for /usr/share/nls/../libc.cat became failure
to return failure. open() of these paths should succeed to satisfy strerror() and friends. ok semarie
-rw-r--r--sys/kern/kern_tame.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/kern_tame.c b/sys/kern/kern_tame.c
index 0e07060c8d8..42fb740e761 100644
--- a/sys/kern/kern_tame.c
+++ b/sys/kern/kern_tame.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_tame.c,v 1.36 2015/09/01 09:19:21 semarie Exp $ */
+/* $OpenBSD: kern_tame.c,v 1.37 2015/09/01 18:26:19 deraadt Exp $ */
/*
* Copyright (c) 2015 Nicholas Marriott <nicm@openbsd.org>
@@ -481,12 +481,12 @@ tame_namei(struct proc *p, char *origpath)
strcmp(path, "/etc/localtime") == 0)
return (0);
- /* /usr/share/nls/../libc.cat returns EPERM, for strerror(3). */
+ /* /usr/share/nls/../libc.cat has to succeed for strerror(3). */
if ((p->p_tamenote == TMN_RPATH) &&
strncmp(path, "/usr/share/nls/",
sizeof("/usr/share/nls/") - 1) == 0 &&
strcmp(path + strlen(path) - 9, "/libc.cat") == 0)
- return (EPERM);
+ return (0);
break;
case SYS_readlink:
/* Allow /etc/malloc.conf for malloc(3). */