diff options
author | jamie <jamie@FreeBSD.org> | 2016-04-28 01:40:47 +0000 |
---|---|---|
committer | jamie <jamie@FreeBSD.org> | 2016-04-28 01:40:47 +0000 |
commit | 1d5d3749a4b560c02782ced59660844e31c631a9 (patch) | |
tree | c4ebfe13321192d95a2289d6ab4ec1b0a9d3cca6 /usr.sbin/jail | |
parent | 896a089c370469825d994ffeab54ba839f635ce9 (diff) | |
download | FreeBSD-src-1d5d3749a4b560c02782ced59660844e31c631a9.zip FreeBSD-src-1d5d3749a4b560c02782ced59660844e31c631a9.tar.gz |
MFC r298562:
Make jail(8) interpret escape codes in fstab the same as getfsent(3).
PR: 208663
Diffstat (limited to 'usr.sbin/jail')
-rw-r--r-- | usr.sbin/jail/command.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/usr.sbin/jail/command.c b/usr.sbin/jail/command.c index 805251f..a374604 100644 --- a/usr.sbin/jail/command.c +++ b/usr.sbin/jail/command.c @@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$"); #include <stdlib.h> #include <string.h> #include <unistd.h> +#include <vis.h> #include "jailp.h" @@ -445,8 +446,14 @@ run_command(struct cfjail *j) strcpy(comcs, comstring->s); argc = 0; for (cs = strtok(comcs, " \t\f\v\r\n"); cs && argc < 4; - cs = strtok(NULL, " \t\f\v\r\n")) + cs = strtok(NULL, " \t\f\v\r\n")) { + if (argc <= 1 && strunvis(cs, cs) < 0) { + jail_warnx(j, "%s: %s: fstab parse error", + j->intparams[comparam]->name, comstring->s); + return -1; + } argv[argc++] = cs; + } if (argc == 0) return 0; if (argc < 3) { |