Author: avg
Date: Thu Mar 28 08:13:52 2013
New Revision: 248820
URL: http://svnweb.freebsd.org/changeset/base/248820

Log:
  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

Modified:
  head/etc/rc.subr

Modified: head/etc/rc.subr
==============================================================================
--- head/etc/rc.subr    Thu Mar 28 06:59:58 2013        (r248819)
+++ head/etc/rc.subr    Thu Mar 28 08:13:52 2013        (r248820)
@@ -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
 }
 
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to