From: Hannes Reinecke Date: Mon, 14 Jul 2014 08:22:31 +0000 (+0200) Subject: Reset IFS variable X-Git-Tag: 046~51^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8b0791fa010cf7e5fde3a37a8c2bb6d6f1264f59;p=thirdparty%2Fdracut.git Reset IFS variable Setting and unsetting the IFS variable is tricky. To be on the safe side we should always reset the IFS variable to its original value after parsing. Signed-off-by: Hannes Reinecke --- diff --git a/modules.d/95dasd/parse-dasd.sh b/modules.d/95dasd/parse-dasd.sh index 35c997c77..976bd032e 100755 --- a/modules.d/95dasd/parse-dasd.sh +++ b/modules.d/95dasd/parse-dasd.sh @@ -1,8 +1,10 @@ #!/bin/sh for dasd_arg in $(getargs rd.dasd= -d rd_DASD= DASD=); do ( + local OLDIFS="$IFS" IFS="," set -- $dasd_arg + IFS="$OLDIFS" echo "$@" | normalize_dasd_arg >> /etc/dasd.conf ) done diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh index e1bee6206..1cc621fc0 100755 --- a/modules.d/95dasd_rules/parse-dasd.sh +++ b/modules.d/95dasd_rules/parse-dasd.sh @@ -59,8 +59,10 @@ for dasd_arg in $(getargs root=) $(getargs resume=); do ;; esac if [ -n "$ccw_arg" ] ; then + OLDIFS="$IFS" IFS="-" set -- $ccw_arg + IFS="$OLDIFS" create_udev_rule $2 fi ) @@ -68,9 +70,10 @@ done for dasd_arg in $(getargs rd.dasd=); do ( + OLDIFS="$IFS" IFS="," set -- $dasd_arg - unset IFS + IFS="$OLDIFS" while (($# > 0)); do case $1 in autodetect|probeonly) @@ -78,13 +81,14 @@ for dasd_arg in $(getargs rd.dasd=); do ;; *-*) range=$1 + OLDIFS="$IFS" IFS="-" set -- $range start=${1#0.0.} shift end=${1#0.0.} shift - unset IFS + IFS="$OLDIFS" for dev in $(seq $(( 16#$start )) $(( 16#$end )) ) ; do create_udev_rule $(printf "0.0.%04x" "$dev") done diff --git a/modules.d/95zfcp_rules/parse-zfcp.sh b/modules.d/95zfcp_rules/parse-zfcp.sh index d34b861eb..932c5c1c4 100755 --- a/modules.d/95zfcp_rules/parse-zfcp.sh +++ b/modules.d/95zfcp_rules/parse-zfcp.sh @@ -55,8 +55,10 @@ fi for zfcp_arg in $(getargs rd.zfcp); do ( + OLDIFS="$IFS" IFS="," set $zfcp_arg + IFS="$OLDIFS" create_udev_rule $1 $2 $3 ) done @@ -72,8 +74,10 @@ for zfcp_arg in $(getargs root=) $(getargs resume=); do ;; esac if [ -n "$ccw_arg" ] ; then + OLDIFS="$IFS" IFS="-" set -- $ccw_arg + IFS="$OLDIFS" _wwpn=${4%:*} _lun=${4#*:} create_udev_rule $2 $wwpn $lun