From 3ee030e1e9765e64e977fd3acf7bf877f9fb0457 Mon Sep 17 00:00:00 2001 From: Andriy Gapon Date: Thu, 28 Mar 2013 08:13:52 +0000 Subject: [PATCH] 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 --- etc/rc.subr | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/etc/rc.subr b/etc/rc.subr index 9bff68bb934..bce2257ecb8 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 }