version 1.51, 2015/10/06 15:39:44 |
version 1.52, 2015/10/09 01:37:07 |
|
|
msg.error = errno; |
msg.error = errno; |
} else { |
} else { |
/* |
/* |
* tame(2) doesn't let us pass directory file |
* pledge(2) doesn't let us pass directory file |
* descriptors around - but in fact we don't need them, |
* descriptors around - but in fact we don't need them, |
* so just don't open directories or symlinks (which |
* so just don't open directories or symlinks (which |
* could be to directories). |
* could be to directories). |
|
|
int i, idx; |
int i, idx; |
size_t len, width = 0; |
size_t len, width = 0; |
|
|
if (tame("stdio getpw proc recvfd", NULL) == -1) |
if (pledge("stdio getpw proc recvfd", NULL) == -1) |
err(1, "tame"); |
err(1, "pledge"); |
|
|
if (geteuid() == 0) { |
if (geteuid() == 0) { |
pw = getpwnam(FILE_USER); |
pw = getpwnam(FILE_USER); |
|
|
err(1, "setresuid"); |
err(1, "setresuid"); |
} |
} |
|
|
if (tame("stdio recvfd", NULL) == -1) |
if (pledge("stdio recvfd", NULL) == -1) |
err(1, "tame"); |
err(1, "pledge"); |
|
|
m = magic_load(magicfp, magicpath, cflag || Wflag); |
m = magic_load(magicfp, magicpath, cflag || Wflag); |
if (cflag) { |
if (cflag) { |