elfdump: limit STDIN to no rights rather than closing it
Closing stdin/stdout/stderr is often a bad idea as a future open() can end up with its fd. Leave it open and limit it to no rights instead. Reviewed by: cem Differential Revision: https://reviews.freebsd.org/D7984
This commit is contained in:
parent
85190f81bb
commit
9e8f606352
@ -573,7 +573,7 @@ main(int ac, char **av)
|
||||
cap_rights_init(&rights, CAP_MMAP_R);
|
||||
if (cap_rights_limit(fd, &rights) < 0 && errno != ENOSYS)
|
||||
err(1, "unable to limit rights for %s", *av);
|
||||
close(STDIN_FILENO);
|
||||
cap_rights_limit(STDIN_FILENO, cap_rights_init(&rights));
|
||||
cap_rights_init(&rights, CAP_FSTAT, CAP_IOCTL, CAP_WRITE);
|
||||
cmd = TIOCGETA; /* required by isatty(3) in printf(3) */
|
||||
if ((cap_rights_limit(STDOUT_FILENO, &rights) < 0 && errno != ENOSYS) ||
|
||||
|
Loading…
x
Reference in New Issue
Block a user