From 8b0791fa010cf7e5fde3a37a8c2bb6d6f1264f59 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke Date: Mon, 14 Jul 2014 10:22:31 +0200 Subject: [PATCH] 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 --- modules.d/95dasd/parse-dasd.sh | 2 ++ modules.d/95dasd_rules/parse-dasd.sh | 8 ++++++-- modules.d/95zfcp_rules/parse-zfcp.sh | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) 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 -- 2.47.3