From 5c2fb1a07f408d9360de1933e241327cd5a9c30e Mon Sep 17 00:00:00 2001 From: rpe <> Date: Sat, 8 Apr 2017 08:33:05 +0000 Subject: [PATCH] - localize the if, file and stat variables which also ensures that variables are not named like commands. - change test from [] to [[]] OK tb@ halex@ --- src/etc/netstart | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/etc/netstart b/src/etc/netstart index 6586b069..f8228583 100644 --- a/src/etc/netstart +++ b/src/etc/netstart @@ -1,6 +1,6 @@ #!/bin/sh - # -# $OpenBSD: netstart,v 1.175 2017/04/07 22:53:25 rpe Exp $ +# $OpenBSD: netstart,v 1.176 2017/04/08 08:33:05 rpe Exp $ # Turn off Strict Bourne shell mode. set +o sh @@ -24,23 +24,22 @@ stripcom() { ifstart() { # Note: Do not rename the 'if' variable which is documented as being # usable in hostname.if(5) files. - if=$1 + local if=$1 _file=/etc/hostname.$1 _stat # Interface names must be alphanumeric only. We check to avoid # configuring backup or temp files, and to catch the "*" case. [[ $if != +([[:alpha:]])+([[:digit:]]) ]] && return - file=/etc/hostname.$if - if ! [ -f $file ]; then - echo "netstart: $file: No such file or directory" + if [[ ! -f $_file ]]; then + echo "netstart: $_file: No such file or directory" return fi # Not using stat(1), we can't rely on having /usr yet. - set -A stat -- $(ls -nL $file) - if [ "${stat[0]#???????} ${stat[2]} ${stat[3]}" != "--- 0 0" ]; then - echo "WARNING: $file is insecure, fixing permissions" - chmod -LR o-rwx $file - chown -LR root.wheel $file + set -A _stat -- $(ls -nL $_file) + if [ "${_stat[0]#???????} ${_stat[2]} ${_stat[3]}" != "--- 0 0" ]; then + echo "WARNING: $_file is insecure, fixing permissions" + chmod -LR o-rwx $_file + chown -LR root.wheel $_file fi # Check for ifconfig'able interface. (ifconfig $if || ifconfig $if create) >/dev/null 2>&1 || return @@ -132,7 +131,7 @@ ifstart() { ;; esac eval "$cmd" - done <$file + done <$_file } # Start multiple interfaces by driver name.