Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Mar 2013 08:13:52 +0000 (UTC)
From:      Andriy Gapon <avg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r248820 - head/etc
Message-ID:  <201303280813.r2S8Dq6s058941@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303280813.r2S8Dq6s058941>