From 44f6adcfe508d818ffa24b55aa971bdab966465c Mon Sep 17 00:00:00 2001 From: jamie Date: Thu, 23 Aug 2012 19:39:23 +0000 Subject: 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 --- usr.sbin/jail/config.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'usr.sbin/jail/config.c') 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; -- cgit v1.1