- Style: size_t can't be negative.
- Don't exit with a zero status code when no jails are configured on a system. - Style: simplify some code constructs. - If a single jail cannot be found, let the caller print a nicer diagnostic message. Reviewed by: bz MFC after: 3 days
This commit is contained in:
parent
c022d15e0f
commit
f5212d31ce
@ -119,8 +119,8 @@ lookup_jail(int jid, char *jailname)
|
||||
|
||||
j = len;
|
||||
for (i = 0; i < 4; i++) {
|
||||
if (len <= 0)
|
||||
exit(0);
|
||||
if (len == 0)
|
||||
return (-1);
|
||||
p = q = malloc(len);
|
||||
if (p == NULL)
|
||||
err(1, "malloc()");
|
||||
@ -174,27 +174,21 @@ lookup_jail(int jid, char *jailname)
|
||||
/* NOTREACHED */
|
||||
break;
|
||||
}
|
||||
/* Possible match. */
|
||||
if (id > 0) {
|
||||
/* Do we have a jail ID to match as well? */
|
||||
if (jid > 0) {
|
||||
if (jid == id) {
|
||||
xid = id;
|
||||
count++;
|
||||
}
|
||||
} else {
|
||||
xid = id;
|
||||
count++;
|
||||
}
|
||||
/* Possible match; see if we have a jail ID to match as well. */
|
||||
if (id > 0 && (jid <= 0 || id == jid)) {
|
||||
xid = id;
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
free(p);
|
||||
|
||||
if (count != 1)
|
||||
if (count == 1)
|
||||
return (xid);
|
||||
else if (count > 1)
|
||||
errx(1, "Could not uniquely identify the jail.");
|
||||
|
||||
return (xid);
|
||||
else
|
||||
return (-1);
|
||||
}
|
||||
|
||||
#define GET_USER_INFO do { \
|
||||
|
Loading…
Reference in New Issue
Block a user