diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2012-12-18 20:34:12 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2012-12-18 20:34:46 -0800 |
commit | 0b3d84a0ee95d07f819a39de596ecb6578fd8910 (patch) | |
tree | 37a12641fde9d576e8d3555eba12c6c995d73122 /lib/system.h | |
parent | 23965e151e3c86367fe23d93613f3686a6104763 (diff) | |
download | paxutils-0b3d84a0ee95d07f819a39de596ecb6578fd8910.tar.gz |
maint: remove lint uncovered by tar's new use of manywarnings
* lib/rmt.h, lib/rtapelib.c (rmt_command, rmt_dev_name__):
Now pointer to const.
* lib/rtapelib.c (rmt_open__): Check return codes from dup2, close.
Don't mishandle the case when 'pipe' allocates file descriptor 0.
* lib/system.h (sys_reset_uid_gid): Check return codes from
setuid, setgid.
* tests/genfile.c (mkhole, exec_checkpoint):
Check return code from ftruncate.
(mkhole): Don't call fseek twice.
(exec_checkpoint): Check return code from system.
(exec_command): Check return code from pipe.
Diffstat (limited to 'lib/system.h')
-rw-r--r-- | lib/system.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/system.h b/lib/system.h index 2deb585..ef46267 100644 --- a/lib/system.h +++ b/lib/system.h @@ -471,8 +471,11 @@ char *getenv (); # define SET_BINARY_MODE(arc) # define ERRNO_IS_EACCES 0 # define TTY_NAME "/dev/tty" -# define sys_reset_uid_gid() \ - do { setuid (getuid ()); setgid (getgid ()); } while (0) +# define sys_reset_uid_gid() \ + do { \ + if (! (setuid (getuid ()) == 0 && setgid (getgid ()) == 0)) \ + abort (); \ + } while (0) #endif #if XENIX |