diff options
author | Jamie Gritton <jamie@FreeBSD.org> | 2012-08-23 01:43:01 +0000 |
---|---|---|
committer | Jamie Gritton <jamie@FreeBSD.org> | 2012-08-23 01:43:01 +0000 |
commit | 2b4f1090dec7472aec701d23bf5544ce8b85cb1b (patch) | |
tree | 18c8154ed7473c15c17dff79fd761c7e4a93573e /usr.sbin/jail | |
parent | b8ea11cf793ec5fb35a0ba5f4190cd02c6516e30 (diff) | |
download | src-2b4f1090dec7472aec701d23bf5544ce8b85cb1b.tar.gz src-2b4f1090dec7472aec701d23bf5544ce8b85cb1b.zip |
Remember that I'm using length-defined strings in parameters:
Remove a bogus null terminator when stripping the netmask from
IP addresses. This was causing later addresses in a comma-separated
string to disappear.
Use memcpy instead of strcpy. This could just cause Bad Things.
PR: 170832
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=239601
Diffstat (limited to 'usr.sbin/jail')
-rw-r--r-- | usr.sbin/jail/config.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/usr.sbin/jail/config.c b/usr.sbin/jail/config.c index 7a7917d2a5cf..508f28b4b423 100644 --- a/usr.sbin/jail/config.c +++ b/usr.sbin/jail/config.c @@ -597,8 +597,7 @@ check_intparams(struct cfjail *j) "ip4.addr: bad netmask \"%s\"", cs); error = -1; } - *cs = '\0'; - s->len = cs - s->s + 1; + s->len = cs - s->s; } } } @@ -621,8 +620,7 @@ check_intparams(struct cfjail *j) cs); error = -1; } - *cs = '\0'; - s->len = cs - s->s + 1; + s->len = cs - s->s; } } } @@ -714,7 +712,7 @@ import_params(struct cfjail *j) value = alloca(vallen); cs = value; TAILQ_FOREACH_SAFE(s, &p->val, tq, ts) { - strcpy(cs, s->s); + memcpy(cs, s->s, s->len); if (ts != NULL) { cs += s->len + 1; cs[-1] = ','; |