Make the FEATURES=sfperms loops safe for whitespace in paths
authorZac Medico <zmedico@gentoo.org>
Fri, 28 Dec 2007 21:11:20 +0000 (21:11 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 28 Dec 2007 21:11:20 +0000 (21:11 -0000)
by using find -print0 | while read -d $'\0'. (trunk r9083)

svn path=/main/branches/2.1.2/; revision=9084

bin/misc-functions.sh

index 1395ff29c02111836b10429070d80cc637770e6b..3985a3af38e93bbfcf4e1e5c5b0c8174541231ad 100755 (executable)
@@ -423,7 +423,8 @@ preinst_sfperms() {
        # Smart FileSystem Permissions
        if hasq sfperms $FEATURES; then
                local i
-               for i in $(find "${D}" -type f -perm -4000); do
+               find "${D}" -type f -perm -4000 -print0 | \
+               while read -d $'\0' i ; do
                        if [ -n "$(find "$i" -perm -2000)" ] ; then
                                ebegin ">>> SetUID and SetGID: [chmod o-r] /${i#${D}}"
                                chmod o-r "$i"
@@ -434,7 +435,8 @@ preinst_sfperms() {
                                eend $?
                        fi
                done
-               for i in $(find "${D}" -type f -perm -2000); do
+               find "${D}" -type f -perm -2000 -print0 | \
+               while read -d $'\0' i ; do
                        if [ -n "$(find "$i" -perm -4000)" ] ; then
                                # This case is already handled
                                # by the SetUID check above.