summaryrefslogtreecommitdiffstats
path: root/lib/libc/nls
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>1997-03-24 06:15:07 +0000
committerimp <imp@FreeBSD.org>1997-03-24 06:15:07 +0000
commit6b885ecb71f8782d8ebec25b7e57b7e7436c8c97 (patch)
treeeeb89b9213c159acf536b24b9df0d860ff465f28 /lib/libc/nls
parentff12c038efa6945b2598bb5f2d145ba82d294aca (diff)
downloadFreeBSD-src-6b885ecb71f8782d8ebec25b7e57b7e7436c8c97.zip
FreeBSD-src-6b885ecb71f8782d8ebec25b7e57b7e7436c8c97.tar.gz
Don't honor LANG or NLSPATH if we're setuid/setgid.
Fixes PR 2582 Submitted by: Julian Assange
Diffstat (limited to 'lib/libc/nls')
-rw-r--r--lib/libc/nls/msgcat.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/libc/nls/msgcat.c b/lib/libc/nls/msgcat.c
index 6ac3a3b..9af5b49 100644
--- a/lib/libc/nls/msgcat.c
+++ b/lib/libc/nls/msgcat.c
@@ -1,4 +1,4 @@
-/* $Id$ */
+/* $Id: msgcat.c,v 1.7 1997/02/22 15:00:50 peter Exp $ */
/***********************************************************
Copyright 1990, by Alfalfa Software Incorporated, Cambridge, Massachusetts.
@@ -99,8 +99,13 @@ int type;
catpath = name;
if (stat(catpath, &sbuf)) return(0);
} else {
- if ((lang = (char *) getenv("LANG")) == NULL) lang = "C";
- if ((nlspath = (char *) getenv("NLSPATH")) == NULL) {
+ /* XXX Should really be issetguid(), but we don't have that */
+ if ((lang = (char *) getenv("LANG")) == NULL ||
+ getuid() != geteuid() || getgid() != getegid())
+ lang = "C";
+ /* XXX Should really be issetguid(), but we don't have that */
+ if ((nlspath = (char *) getenv("NLSPATH")) == NULL ||
+ getuid() != geteuid() || getgid() != getegid()) {
nlspath = "/usr/share/nls/%L/%N.cat:/usr/share/nls/%N/%L:/usr/local/share/nls/%L/%N.cat:/usr/local/share/nls/%N/%L";
}
OpenPOWER on IntegriCloud