- 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:
Ruslan Ermilov 2009-04-04 16:03:28 +00:00
parent c022d15e0f
commit f5212d31ce

View File

@ -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 { \