diff options
author | avg <avg@FreeBSD.org> | 2013-03-28 08:13:52 +0000 |
---|---|---|
committer | avg <avg@FreeBSD.org> | 2013-03-28 08:13:52 +0000 |
commit | 08dd09547be3ebd3d8f4124b77106d5292de12d7 (patch) | |
tree | 3f04489067a75e163980ad270753e41a46ef1d74 /etc/rc.subr | |
parent | 7b210bf144ce08f72d6f2ea941e99224a429f7e6 (diff) | |
download | FreeBSD-src-08dd09547be3ebd3d8f4124b77106d5292de12d7.zip FreeBSD-src-08dd09547be3ebd3d8f4124b77106d5292de12d7.tar.gz |
rc.subr: disabling globbing while processing devfs rules
The rules themselves typically have shell-like patterns and it is
incorrect when they get replaced with matching filesystem entries.
Shell magic by: jilles
MFC after: 2 weeks
Diffstat (limited to 'etc/rc.subr')
-rw-r--r-- | etc/rc.subr | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/etc/rc.subr b/etc/rc.subr index 9bff68b..bce2257 100644 --- a/etc/rc.subr +++ b/etc/rc.subr @@ -1285,7 +1285,7 @@ make_symlink() # devfs_rulesets_from_file() { - local file _err _me + local file _err _me _opts file="$1" _me="devfs_rulesets_from_file" _err=0 @@ -1298,6 +1298,11 @@ devfs_rulesets_from_file() debug "$_me: no such file ($file)" return 0 fi + + # Disable globbing so that the rule patterns are not expanded + # by accident with matching filesystem entries. + _opts=$-; set -f + debug "reading rulesets from file ($file)" { while read line do @@ -1344,6 +1349,7 @@ devfs_rulesets_from_file() break fi done } < $file + case $_opts in *f*) ;; *) set +f ;; esac return $_err } |