summaryrefslogtreecommitdiffstats
path: root/usr.sbin/jail
diff options
context:
space:
mode:
authorjamie <jamie@FreeBSD.org>2012-08-23 19:39:23 +0000
committerjamie <jamie@FreeBSD.org>2012-08-23 19:39:23 +0000
commit44f6adcfe508d818ffa24b55aa971bdab966465c (patch)
tree95e3fb7174afa20ab61e06ae8440c684eab672fe /usr.sbin/jail
parent587ce5b6a3a13d38b667f50272fe8ddf80b55acd (diff)
downloadFreeBSD-src-44f6adcfe508d818ffa24b55aa971bdab966465c.zip
FreeBSD-src-44f6adcfe508d818ffa24b55aa971bdab966465c.tar.gz
Partially roll back r239601 - keep parameter strings both length-delimited
and null-terminated at the same time, because they're later passed to libjail as null-terminated. That means I also need to add a nul byte when comma-combining array parameters. MFC after: 6 days
Diffstat (limited to 'usr.sbin/jail')
-rw-r--r--usr.sbin/jail/config.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/usr.sbin/jail/config.c b/usr.sbin/jail/config.c
index 508f28b..ec96c0c 100644
--- a/usr.sbin/jail/config.c
+++ b/usr.sbin/jail/config.c
@@ -597,6 +597,7 @@ check_intparams(struct cfjail *j)
"ip4.addr: bad netmask \"%s\"", cs);
error = -1;
}
+ *cs = '\0';
s->len = cs - s->s;
}
}
@@ -620,6 +621,7 @@ check_intparams(struct cfjail *j)
cs);
error = -1;
}
+ *cs = '\0';
s->len = cs - s->s;
}
}
@@ -713,11 +715,10 @@ import_params(struct cfjail *j)
cs = value;
TAILQ_FOREACH_SAFE(s, &p->val, tq, ts) {
memcpy(cs, s->s, s->len);
- if (ts != NULL) {
- cs += s->len + 1;
- cs[-1] = ',';
- }
+ cs += s->len + 1;
+ cs[-1] = ',';
}
+ value[vallen - 1] = '\0';
}
if (jailparam_import(jp, value) < 0) {
error = -1;
OpenPOWER on IntegriCloud