summaryrefslogtreecommitdiffstats
path: root/usr.sbin/jail
diff options
context:
space:
mode:
authorjamie <jamie@FreeBSD.org>2016-04-28 01:40:47 +0000
committerjamie <jamie@FreeBSD.org>2016-04-28 01:40:47 +0000
commit1d5d3749a4b560c02782ced59660844e31c631a9 (patch)
treec4ebfe13321192d95a2289d6ab4ec1b0a9d3cca6 /usr.sbin/jail
parent896a089c370469825d994ffeab54ba839f635ce9 (diff)
downloadFreeBSD-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.c9
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) {
OpenPOWER on IntegriCloud