diff options
author | Roland McGrath <roland@gnu.org> | 1996-01-21 10:01:05 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1996-01-21 10:01:05 +0000 |
commit | bbed653cda6007426e8291a5d32963552cc4f417 (patch) | |
tree | 881a95cad53014826d7906027926e00bc45dbca3 /sysdeps/unix/bsd | |
parent | eb63bdd072eafe6aba40d254a71fd87285f497da (diff) | |
download | glibc-bbed653cda6007426e8291a5d32963552cc4f417.tar glibc-bbed653cda6007426e8291a5d32963552cc4f417.tar.gz glibc-bbed653cda6007426e8291a5d32963552cc4f417.tar.bz2 glibc-bbed653cda6007426e8291a5d32963552cc4f417.zip |
Sun Jan 21 00:55:25 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>cvs/libc-960121
* sysdeps/unix/sysv/linux/shmat.c: Include sys/shm.h instead of
sys/sem.h.
* stdlib/stdlib.h [__USE_SVID]: Declare a64l, l64a.
* stdlib/l64a.c: Use 6-bit numbers as indices in CONV_TABLE, not
literal byte values.
* misc/bsd-compat.c (getpgrp): Define with prototype.
* misc/init-misc.c (__progname_full): New variable.
(program_invocation_name, program_invocation_short_name): New aliases.
(__init_misc): Define with prototype. Set __progname_full.
* misc/progname.c: File removed.
* misc/Makefile (aux): Remove progname.
* misc/hsearch_r.c (isprime): Define with prototype.
* sysdeps/unix/sysv/linux/seteuid.c: Just include unix/bsd version.
* sysdeps/unix/bsd/seteuid.c: Disallow arg of -1.
* sysdeps/unix/bsd/setegid.c: Likewise.
Diffstat (limited to 'sysdeps/unix/bsd')
-rw-r--r-- | sysdeps/unix/bsd/setegid.c | 13 | ||||
-rw-r--r-- | sysdeps/unix/bsd/seteuid.c | 13 |
2 files changed, 20 insertions, 6 deletions
diff --git a/sysdeps/unix/bsd/setegid.c b/sysdeps/unix/bsd/setegid.c index 85ebea2c96..c4a3780f6d 100644 --- a/sysdeps/unix/bsd/setegid.c +++ b/sysdeps/unix/bsd/setegid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,12 +16,19 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <ansidecl.h> +#include <errno.h> #include <unistd.h> #include <sys/types.h> int -DEFUN(setegid, (gid), gid_t gid) +setegid (gid) + gid_t gid; { + if (gid == (gid_t) ~0) + { + errno = EINVAL; + return -1; + } + return __setregid (-1, gid); } diff --git a/sysdeps/unix/bsd/seteuid.c b/sysdeps/unix/bsd/seteuid.c index a4be2d98a3..f6aa37f153 100644 --- a/sysdeps/unix/bsd/seteuid.c +++ b/sysdeps/unix/bsd/seteuid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,12 +16,19 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <ansidecl.h> +#include <errno.h> #include <unistd.h> #include <sys/types.h> int -DEFUN(seteuid, (uid), uid_t uid) +seteuid (uid) + uid_t uid; { + if (uid == (uid_t) ~0) + { + errno = EINVAL; + return -1; + } + return __setreuid (-1, uid); } |