version 1.117, 2015/10/25 20:39:54 |
version 1.118, 2015/10/26 11:17:52 |
|
|
static void |
static void |
ktrpledge(struct ktr_pledge *pledge, size_t len) |
ktrpledge(struct ktr_pledge *pledge, size_t len) |
{ |
{ |
|
char *name = ""; |
int i; |
int i; |
|
|
if (len < sizeof(struct ktr_pledge)) |
if (len < sizeof(struct ktr_pledge)) |
|
|
else |
else |
(void)printf("%s", current->sysnames[pledge->syscall]); |
(void)printf("%s", current->sysnames[pledge->syscall]); |
printf(", "); |
printf(", "); |
for (i = 0; pledgenames[i].bits != 0; i++) { |
for (i = 0; pledge->code && pledgenames[i].bits != 0; i++) { |
if (pledgenames[i].bits & pledge->code) { |
if (pledgenames[i].bits & pledge->code) { |
printf("\"%s\"", pledgenames[i].name); |
name = pledgenames[i].name; |
break; |
break; |
} |
} |
} |
} |
|
printf("\"%s\"", name); |
(void)printf(", errno %d", pledge->error); |
(void)printf(", errno %d", pledge->error); |
if (fancy) |
if (fancy) |
(void)printf(" %s", strerror(pledge->error)); |
(void)printf(" %s", strerror(pledge->error)); |