In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 22:
[ ! -r $bck_conf ] || . $bck_conf
                        ^-------^ SC1090 (warning): ShellCheck can't follow non-constant source. Use a directive to specify location.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 29:
	backup_parameters="$backup_parameters $(cat $BCK_PARAMETERS_FILE)"
                                                    ^------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	backup_parameters="$backup_parameters $(cat "$BCK_PARAMETERS_FILE")"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 32:
	backup_files="$backup_files $(cat $BCK_FILES_FILE)"
                                          ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	backup_files="$backup_files $(cat "$BCK_FILES_FILE")"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 37:
	backup_groups="$backup_groups $(cat $BCK_GROUPS_FILE)"
                                            ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	backup_groups="$backup_groups $(cat "$BCK_GROUPS_FILE")"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 73:
[ -f $file_functions ] && . $file_functions ||
                       ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                            ^-------------^ SC1090 (warning): ShellCheck can't follow non-constant source. Use a directive to specify location.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 91:
	local f=make_dir
        ^-----^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 93:
	[ $# -eq 1 ] && [ "$1" ] || error "$f: wrong number of arguments"
                     ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 95:
	[ -d $1 ] || mkdir -p $1 ||
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                              ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ -d "$1" ] || mkdir -p "$1" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 100:
[ -f $files_functions ] && . $files_functions ||
                        ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                             ^--------------^ SC1090 (warning): ShellCheck can't follow non-constant source. Use a directive to specify location.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 114:
	local _epp=
        ^--------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 119:
	if parhand /dev/null 50011 -d $UEP -d $EDP $_epp -daemon -upgrade; then
                                                   ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	if parhand /dev/null 50011 -d $UEP -d $EDP "$_epp" -daemon -upgrade; then


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 134:
	local _daemonpath _basename _pidfile
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 135:
	local _ssd=start-stop-daemon
        ^--------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 175:
	[ ! -e $1 ] || {
               ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ ! -e "$1" ] || {


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 183:
	local _conff=$UED/fsupgrade.conf
        ^----------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 185:
	[ -f $_conff ] && [ -r $_conff ] ||
                       ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 187:
	. $_conff || error "source_bckf: failed to source '$_conff'"
          ^-----^ SC1090 (warning): ShellCheck can't follow non-constant source. Use a directive to specify location.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 196:
	local _f=get_uid_gid_from_entry
        ^------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^-----------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 198:
	[ $# -eq 2 ] && [ "$1" ] && [ "$2" ] ||
        ^-----------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                        ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                 ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                                    ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 199:
		error "$_f: invalid argument(s)"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 201:
	local _entry_id
        ^-------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^-------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 203:
	_entry_id=${2#*:*:}
        ^-----------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 204:
	_entry_id=${_entry_id%%:*}
        ^------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 205:
	eval $1=\$_entry_id
        ^-----------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	eval "$1"=\$_entry_id


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 214:
	local _f=get_user_grp_name_from_entry
        ^------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 216:
	[ $# -eq 2 ] && [ "$1" ] && [ "$2" ] ||
        ^-----------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                        ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                 ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                                    ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 217:
		error "$_f: invalid argument(s)"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 219:
	eval $1=\${2%%:*}
        ^---------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                  ^-- SC1083 (warning): This { is literal. Check expression (missing ;/\n?) or quote it.
                        ^-- SC1083 (warning): This } is literal. Check expression (missing ;/\n?) or quote it.

Did you mean: 
	eval "$1"=\${2%%:*}


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 229:
	local _f=get_user_grp_entry_with_name
        ^------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 231:
	[ $# -eq 3 ] && [ "$1" ] && [ "$2" ] && [ "$3" ] ||
        ^-----------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                        ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                    ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                             ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                                                ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 232:
		error "$_f: invalid argument(s)"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 234:
	local _entry _found_entry=
        ^-----------------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 235:
	local IFS='
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 237:
	for _entry in $2; do
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 238:
		case $_entry in
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 240:
				_found_entry=$_entry
                                ^------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 241:
				break
                                ^---^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 246:
	eval $1=\$_found_entry
        ^--------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	eval "$1"=\$_found_entry


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 256:
	local _f=get_user_grp_entry_with_id
        ^------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 258:
	[ $# -eq 3 ] && [ "$1" ] && [ "$2" ] && [ "$3" ] ||
        ^-----------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                        ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                    ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                             ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                                                ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 259:
		error "$_f: invalid argument(s)"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 261:
	local _entry _found_entry=
        ^-----------------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 262:
	local IFS='
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 264:
	for _entry in $2; do
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 265:
		case $_entry in
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 267:
				_found_entry=$_entry
                                ^------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 268:
				break
                                ^---^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 273:
	eval $1=\$_found_entry
        ^--------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	eval "$1"=\$_found_entry


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 282:
	local _f=get_gid_of_user_entry
        ^------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^----------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 284:
	[ $# -eq 2 ] && [ "$1" ] && [ "$2" ] ||
        ^-----------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                        ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                 ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                                    ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 285:
		error "$_f: invalid argument(s)"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 287:
	local _entry_gid
        ^--------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^--------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 289:
	_entry_gid=${2#*:*:*:}
        ^--------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 290:
	_entry_gid=${_entry_gid%%:*}
        ^--------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 291:
	eval $1=\$_entry_gid
        ^------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	eval "$1"=\$_entry_gid


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 301:
	local _f=get_first_unused_id
        ^------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^--------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 303:
	[ $# -eq 3 ] && [ "$1" ] && [ "$2" ] && [ "$3" ] ||
        ^-----------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                        ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                    ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                             ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                                                ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 304:
		error "$_f: invalid argument(s)"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 306:
	local entry entry_id entry_name first_unused_id=$3
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                                        ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	local entry entry_id entry_name first_unused_id="$3"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 307:
	local IFS='
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 310:
	for entry in $2; do
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 311:
		get_user_grp_name_from_entry entry_name "$entry"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 313:
		[ "$entry_name" != nobody ] && [ "$entry_name" != nogroup ] ||
                ^--------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                            ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                                               ^---------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 314:
			continue
                        ^------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 316:
		get_uid_gid_from_entry entry_id "$entry"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 318:
		[ $first_unused_id -gt $entry_id ] ||
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                  ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                       ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		[ "$first_unused_id" -gt "$entry_id" ] ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 319:
			first_unused_id=$(($entry_id + 1))
                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                           ^-------^ SC2004 (style): $/${} is unnecessary on arithmetic variables.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 322:
	eval $1=\$first_unused_id
        ^-----------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	eval "$1"=\$first_unused_id


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 334:
	local _f=pwd_grp_merge
        ^------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^--------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 336:
	[ $# -eq 5 ] && [ "$1" ] && [ "$2" ] && [ "$3" ] && [ "$4" ] && [ "$5" ] ||
        ^-----------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                        ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                    ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                                ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                                            ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                                                     ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                                                                        ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 337:
		error "$_f: wrong number of arguments"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 338:
	[ $1 = passwd ] || [ $1 = group ] ||
        ^--------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                           ^-------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ "$1" = passwd ] || [ "$1" = group ] ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 339:
		error "$_f: 2nd parameter shall be \"passwd\" or \"group\""
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 340:
	[ -f $2 ] && [ -r $2 ] || error "$_f: $2 does not exit or not readable"
        ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                  ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                     ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                  ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).

Did you mean: 
	[ -f "$2" ] && [ -r "$2" ] || error "$_f: $2 does not exit or not readable"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 341:
	[ -f $3 ] && [ -r $3 ] || error "$_f: $3 does not exit or not readable"
        ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                  ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                     ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                  ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).

Did you mean: 
	[ -f "$3" ] && [ -r "$3" ] || error "$_f: $3 does not exit or not readable"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 342:
	[ $4 = old ] || [ $4 = new ] ||
        ^-----------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                        ^-----------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ "$4" = old ] || [ "$4" = new ] ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 343:
		error "$_f: 4th parameter shall be 'old' or 'new'"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 344:
	[ -f $5 ] && [ -r $5 ] || error "$_f: $5 does not exit or not readable"
        ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                  ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                     ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                  ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).

Did you mean: 
	[ -f "$5" ] && [ -r "$5" ] || error "$_f: $5 does not exit or not readable"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 346:
	local mergedentry mergedlines= newentry newentrywitholdid
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                      ^-- SC1007 (warning): Remove space after = if trying to assign a value (for empty string, use var='' ... ).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 347:
	local newentrywitholdname newfile new_grp newid newlines newname
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                          ^-----^ SC2034 (warning): new_grp appears unused. Verify use (or export if used externally).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 348:
	local oldfile oldlines oldentry oldid oldname old_grp tmpmf unused_id
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                                      ^-----^ SC2034 (warning): old_grp appears unused. Verify use (or export if used externally).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 349:
	local prefer ucu_start_id=1000
        ^-----------------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^----------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 351:
	local IFS='
        ^-------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 353:
	filetype=$1
        ^---------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 354:
	oldfile=$2
        ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 355:
	newfile=$3
        ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 356:
	prefer=$4
        ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 357:
	tmpmf=$5
        ^------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 361:
	oldlines=$(sed -rne '/^[^:]+:[^:]*:[0-9]+:.*/ p' $oldfile)
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                   ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                                         ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	oldlines=$(sed -rne '/^[^:]+:[^:]*:[0-9]+:.*/ p' "$oldfile")


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 362:
	newlines=$(sed -rne '/^[^:]+:[^:]*:[0-9]+:.*/ p' $newfile)
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                   ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                                         ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	newlines=$(sed -rne '/^[^:]+:[^:]*:[0-9]+:.*/ p' "$newfile")


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 364:
	for newentry in $newlines; do
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 365:
		get_uid_gid_from_entry newid "$newentry"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 366:
		get_user_grp_name_from_entry newname "$newentry"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 368:
		[ "$filetype" != passwd ] || {
                ^------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                             ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 369:
			get_gid_of_user_entry newgrp "$newentry"
                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 372:
			[ $newgrp -ne 100 ] || continue
                        ^------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                          ^-----^ SC2154 (warning): newgrp is referenced but not assigned (for output from commands, use "$(newgrp ...)" ).
                          ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                               ^------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).

Did you mean: 
			[ "$newgrp" -ne 100 ] || continue


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 376:
		get_user_grp_entry_with_name oldentry "$oldlines" "$newname"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 378:
		if [ "$oldentry" ]; then
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                   ^-------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 379:
			get_uid_gid_from_entry oldid "$oldentry"
                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 381:
			if [ "$filetype" != passwd ] &&
                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                           ^------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 382:
				{ [ "$newname" = root ] ||
                                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                  ^--------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 383:
				  [ "$newname" = admin ] ||
                                  ^---------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 384:
				  [ "$newname" = operator ] ||
                                  ^------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 385:
				  [ "$newname" = viewer ] ||
                                  ^----------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 386:
				  [ "$newname" = users ] ||
                                  ^---------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 387:
				  [ "$newname" = ptz ] ||
                                  ^-------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 388:
				  [ "$newname" = nvrdevice ]; }; then
                                  ^------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 390:
				if [ $prefer = new ]; then
                                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                   ^---------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                     ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
				if [ "$prefer" = new ]; then


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 391:
					mergedlines="$mergedlines${newentry%:*}:${oldentry##*:}
                                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 394:
					mergedlines="$mergedlines$oldentry
                                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 398:
				if [ $newid -eq $oldid ] || [ $prefer = new ]; then
                                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                   ^--------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                     ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                            ^---------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                                              ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
				if [ "$newid" -eq "$oldid" ] || [ "$prefer" = new ]; then


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 400:
					mergedlines="$mergedlines$newentry
                                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 404:
					get_user_grp_entry_with_id newentrywitholdid "$newlines" "$oldid"
                                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 405:
					if [ "$newentrywitholdid" ]; then
                                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                           ^----------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 407:
						mergedlines="$mergedlines$newentry
                                                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 411:
						mergedlines="$mergedlines$oldentry
                                                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 418:
			mergedlines="$mergedlines$newentry
                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 424:
	for oldentry in $oldlines; do
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 425:
		get_uid_gid_from_entry oldid "$oldentry"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 426:
		get_user_grp_name_from_entry oldname "$oldentry"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 428:
		[ "$filetype" != passwd ] || {
                ^------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                             ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 429:
			get_gid_of_user_entry oldgrp "$oldentry"
                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 432:
			[ $oldgrp -ne 100 ] || continue
                        ^------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                          ^-----^ SC2154 (warning): oldgrp is referenced but not assigned (did you mean 'old_grp'?).
                          ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                               ^------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).

Did you mean: 
			[ "$oldgrp" -ne 100 ] || continue


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 435:
		get_user_grp_entry_with_name newentrywitholdname "$newlines" "$oldname"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 437:
		if [ -z "$newentrywitholdname" ]; then
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                   ^---------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 439:
			get_user_grp_entry_with_id newentrywitholdid "$newlines" "$oldid"
                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 440:
			if [ -z "$newentrywitholdid" ]; then
                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                           ^-------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 442:
				mergedlines="$mergedlines$oldentry
                                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 445:
				info "Following entry in old file could not be merged due to conflict: $oldentry"
                                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 452:
	if [ "$filetype" = passwd ]; then
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
           ^----------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 453:
		for oldentry in $oldlines; do
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 454:
			get_gid_of_user_entry oldgrp "$oldentry"
                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 457:
			if [ $oldgrp -eq 100 ]; then
                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                           ^-----------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                             ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			if [ "$oldgrp" -eq 100 ]; then


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 458:
				get_uid_gid_from_entry oldid "$oldentry"
                                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 460:
				get_first_unused_id unused_id "$mergedlines" "$ucu_start_id"
                                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 461:
				oldentry=$(echo "$oldentry" | sed -e "s/$oldid/$unused_id/g")
                                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                           ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 462:
				mergedlines="$mergedlines$oldentry
                                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 468:
		for newentry in $newlines; do
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 469:
			get_gid_of_user_entry newgrp "$newentry"
                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 472:
			if [ $newgrp -eq 100 ]; then
                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                           ^-----------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                             ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			if [ "$newgrp" -eq 100 ]; then


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 473:
				get_user_grp_name_from_entry newname "$newentry"
                                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 476:
				get_user_grp_entry_with_name mergedentry "$mergedlines" "$newname"
                                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 478:
				if [ -z "$mergedentry" ]; then
                                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                   ^-------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 479:
					get_uid_gid_from_entry newid "$newentry"
                                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 481:
					get_first_unused_id unused_id "$mergedlines" "$ucu_start_id"
                                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 482:
					newentry=$(echo "$newentry" | sed -e "s/$newid/$unused_id/g")
                                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                                   ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 483:
					mergedlines="$mergedlines$newentry
                                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 491:
	[ "$filetype" != passwd ] &&
        ^------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 492:
		mergedlines=$(echo "$mergedlines" |
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                              ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 495:
	mergedlines=$(echo "$mergedlines" | sed -e '/^$/d' | sort -t : -k 3n)
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                      ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 499:
	echo "$mergedlines" > $tmpmf ||
        ^---------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                              ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	echo "$mergedlines" > "$tmpmf" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 500:
		error "Failed write the temporary merge file '$tmpmf'"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 506:
	local line
        ^--------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 508:
	[ $# -eq 2 ] || error "get_line_from_shadow: missing argument"
        ^-----------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 510:
	for line in $1; do
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 511:
		[ ${line%%:*} != $2 ] || {
                ^--------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                  ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                 ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                         ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).

Did you mean: 
		[ "${line%%:*}" != "$2" ] || {


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 512:
			echo $line
                        ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                             ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			echo "$line"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 513:
			return 0
                        ^------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 517:
	return 1
        ^------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 532:
	[ $# -eq 4 ] || error "shadow_merge: missing argument"
        ^-----------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 533:
	[ -f $1 ] && [ -r $1 ] || error "$f: '$1' missing or not readable"
        ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                  ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                     ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                  ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).

Did you mean: 
	[ -f "$1" ] && [ -r "$1" ] || error "$f: '$1' missing or not readable"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 534:
	[ -f $2 ] && [ -r $2 ] || error "$f: '$2' missing or not readable"
        ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                  ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                     ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                  ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).

Did you mean: 
	[ -f "$2" ] && [ -r "$2" ] || error "$f: '$2' missing or not readable"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 535:
	[ -f $3 ] && [ -r $3 ] || error "$f: '$3' missing or not readable"
        ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                  ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                     ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                  ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).

Did you mean: 
	[ -f "$3" ] && [ -r "$3" ] || error "$f: '$3' missing or not readable"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 536:
	[ -f $4 ] && [ -r $4 ] || error "$f: '$4' missing or not readable"
        ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                  ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                     ^--------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                  ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).

Did you mean: 
	[ -f "$4" ] && [ -r "$4" ] || error "$f: '$4' missing or not readable"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 538:
	local f=shadow_merge line passwd_lines cur_sf old_sf new_sf merged_sf
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 539:
	local IFS restore_IFS
        ^-------------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
        ^-------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 541:
	cur_sf=$1
        ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 542:
	old_sf=$2
        ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 543:
	new_sf=$3
        ^-------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 544:
	merged_sf=$4
        ^----------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 546:
	IFS='
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 549:
	passwd_lines=$(sed -rne '/^[^:]+:[^:]*:[0-9]+:.*/ p' $cur_sf)
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                       ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                                             ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	passwd_lines=$(sed -rne '/^[^:]+:[^:]*:[0-9]+:.*/ p' "$cur_sf")


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 550:
	old_shadow_lines=$(sed -rne '/^[^:]+:[^:]+/ p' $old_sf)
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                           ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                                       ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	old_shadow_lines=$(sed -rne '/^[^:]+:[^:]+/ p' "$old_sf")


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 551:
	new_shadow_lines=$(sed -rne '/^[^:]+:[^:]+/ p' $new_sf)
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                           ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                                       ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	new_shadow_lines=$(sed -rne '/^[^:]+:[^:]+/ p' "$new_sf")


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 553:
	for line in $passwd_lines; do
        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 554:
		login_name=${line%%:*}
                ^--------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 555:
		get_line_from_shadow "$old_shadow_lines" $login_name ||
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                                         ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		get_line_from_shadow "$old_shadow_lines" "$login_name" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 556:
			get_line_from_shadow "$new_shadow_lines" $login_name || {
                        ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                                                 ^---------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).

Did you mean: 
			get_line_from_shadow "$new_shadow_lines" "$login_name" || {


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 560:
				restore_IFS=$IFS
                                ^--------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 561:
				IFS=:
                                ^---^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 562:
				set -- $line
                                ^----------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                       ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
				set -- "$line"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 563:
				IFS=$restore_IFS
                                ^--------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 564:
				[ $# -ge 2 ] || {
                                ^-----------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 565:
					warning "$f: line split failed"
                                        ^-----------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 566:
					continue
                                        ^------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 568:
				echo $1:$2:10231:0:99999:7:::
                                ^---------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                                     ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                        ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
				echo "$1":"$2":10231:0:99999:7:::


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 570:
	done >$merged_sf ||
              ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	done >"$merged_sf" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 571:
		error "$f: failed to write the merged shadow file '$merged_sf'"
                ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 575:
	local f=generate_new_preset_file tmppf line _1st_part _last_part index
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 577:
	[ $# -eq 1 ] && [ "$1" ] || error "$f: missing argument"
                     ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 578:
	[ -f $1 ] && [ -r $1 ] || error "$f: '$1' missing or not readable"
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                  ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ -f "$1" ] && [ -r "$1" ] || error "$f: '$1' missing or not readable"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 584:
	while read line; do
              ^--^ SC2162 (info): read without -r will mangle backslashes.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 586:
		_last_part=${line#$_1st_part}
                                  ^--------^ SC2295 (info): Expansions inside ${..} need to be quoted separately, otherwise they match as patterns.

Did you mean: 
		_last_part=${line#"$_1st_part"}


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 591:
				rm -f $tmppf ||
                                      ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
				rm -f "$tmppf" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 599:
				echo $_1st_part ${index}_position >>$tmppf ||
                                     ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                    ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
				echo "$_1st_part" "${index}"_position >>"$tmppf" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 603:
				rm -f $tmppf ||
                                      ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
				rm -f "$tmppf" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 608:
	done <$1
              ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	done <"$1"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 610:
	mv -f $tmppf $1 || error "$f: failed to replace '$1' with '$tmppf'"
              ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                     ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	mv -f "$tmppf" "$1" || error "$f: failed to replace '$1' with '$tmppf'"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 614:
	local f is_preset_file
        ^--------------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 617:
		for f in $EDT/*; do
                         ^--^ SC2231 (info): Quote expansions in this for loop glob to prevent wordsplitting, e.g. "$dir"/*.txt .


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 618:
			[ -f $f ] && [ -r $f ] || continue
                             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                  ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			[ -f "$f" ] && [ -r "$f" ] || continue


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 620:
			[ "$is_preset_file" = $f ] ||
                                              ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			[ "$is_preset_file" = "$f" ] ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 621:
				generate_new_preset_file $f ||
                                                         ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
				generate_new_preset_file "$f" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 628:
	local line filelist= IFS="
        ^----------------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
                            ^-- SC1007 (warning): Remove space after = if trying to assign a value (for empty string, use var='' ... ).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 632:
		while read line; do
                      ^--^ SC2162 (info): read without -r will mangle backslashes.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 638:
			filelist="$filelist $(add_bckf $line)"
                                                       ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			filelist="$filelist $(add_bckf "$line")"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 639:
		done <$1
                      ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		done <"$1"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 644:
	echo $filelist
             ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	echo "$filelist"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 648:
	[ $# -eq 4 ] && [ "$1" ] && [ "$2" ] && [ "$3" ] && [ "$4" ] ||
                                                         ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 651:
	if [ -e $1 ]; then
                ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	if [ -e "$1" ]; then


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 652:
		chmod $2 $1 ||
                      ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                         ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		chmod "$2" "$1" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 654:
		chown $3:$4 $1 ||
                      ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                         ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                            ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		chown "$3":"$4" "$1" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 667:
	local files f self=archive_files
        ^----------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 674:
	if tar cf $BCK_ARCHIVE -X $BCK_IGNORELIST_FILE $files; then
                                                       ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	if tar cf $BCK_ARCHIVE -X $BCK_IGNORELIST_FILE "$files"; then


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 676:
		echo $files >$BCK_BACKUP_FILES_FILE ||
                     ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		echo "$files" >$BCK_BACKUP_FILES_FILE ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 682:
	rm $BCK_IGNORELIST_FILE && info "done" || {
                                ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 689:
	local backup_files bck_list eraseparam extdr f filedevid grp jffsid oldtype
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 690:
	local prm rootdevid vfsu_d
        ^------------------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 692:
	[ $# -eq 2 ] && [ "$1" ] && [ "$2" ] || error "perform_upgrade_backup: missing argument"
                                 ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 699:
			for f in $PREUPGRADE_SCRIPTS_DIR/*; do
                                 ^---------------------^ SC2231 (info): Quote expansions in this for loop glob to prevent wordsplitting, e.g. "$dir"/*.txt .


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 700:
				info "Pre-upgrade script '$f' ..." && JFFSID=$jffsid $f && info "done"  ||
                                                                                        ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 720:
		backup_files="$backup_files $(add_bckf $f)"
                                                       ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		backup_files="$backup_files $(add_bckf "$f")"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 723:
		for f in $SAVEFILES_DIR/*; do
                         ^------------^ SC2231 (info): Quote expansions in this for loop glob to prevent wordsplitting, e.g. "$dir"/*.txt .


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 724:
			backup_files="$backup_files $(add_bckf_from_file $f)"
                                                                         ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			backup_files="$backup_files $(add_bckf_from_file "$f")"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 743:
				$PHC get root.$prm - NAMEVALUE >&7 ||
                                              ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
				$PHC get root."$prm" - NAMEVALUE >&7 ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 747:
				$PHC getgroup root.$grp - NAMEVALUE >&7 ||
                                                   ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
				$PHC getgroup root."$grp" - NAMEVALUE >&7 ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 766:
		eraseparam=--noiv
                ^--------^ SC2034 (warning): eraseparam appears unused. Verify use (or export if used externally).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 776:
			[ ! -r $f ] || cp $f $vfsu_d ||
                               ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			[ ! -r "$f" ] || cp "$f" $vfsu_d ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 797:
			for f in $EDP/*; do
                                 ^--^ SC2231 (info): Quote expansions in this for loop glob to prevent wordsplitting, e.g. "$dir"/*.txt .


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 798:
				[ -f $f ] && [ -r $f ] || continue
                                     ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                          ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.
                                                  ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
				[ -f "$f" ] && [ -r "$f" ] || continue


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 799:
				grep DO $f >$EDT/${f#$EDP/} 2>/dev/null
                                        ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                                 ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                     ^--^ SC2295 (info): Expansions inside ${..} need to be quoted separately, otherwise they match as patterns.

Did you mean: 
				grep DO "$f" >$EDT/"${f#"$EDP"/}" 2>/dev/null


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 816:
			find $backup_files | xargs stat -c '%n %d' | while read -r f filedevid; do
                        ^----------------^ SC2038 (warning): Use -print0/-0 or -exec + to allow for non-alphanumeric filenames.
                             ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			find "$backup_files" | xargs stat -c '%n %d' | while read -r f filedevid; do


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 827:
	local f=$2 tmpf self=convert_to_temp
        ^------------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.
                ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	local f="$2" tmpf self=convert_to_temp


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 829:
	[ $# -eq 2 ] && [ "$1" ] && [ "$2" ] || error "$self: missing or empty argument"
                                 ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 831:
	if [ -r $f ]; then
                ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	if [ -r "$f" ]; then


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 834:
		cp $f $tmpf || error "$self: Failed to copy '$f' to '$tmpf'"
                   ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                      ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		cp "$f" "$tmpf" || error "$self: Failed to copy '$f' to '$tmpf'"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 835:
		fsync $tmpf || error "$self: Failed to sync '$tmpf'"
                      ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		fsync "$tmpf" || error "$self: Failed to sync '$tmpf'"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 836:
		eval $1=\$tmpf
                     ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		eval "$1"=\$tmpf


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 849:
	[ "$1" ] && [ "$2" ] && [ "$3" ] ||
                             ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 852:
	local f=$1 fun=$3 fun_args self=safe_merge tmpf=$2 tmpmf
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.
                ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                       ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                                        ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	local f="$1" fun="$3" fun_args self=safe_merge tmpf="$2" tmpmf


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 856:
	if [ -r $f ] && [ -r $tmpf ]; then
                ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                             ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	if [ -r "$f" ] && [ -r "$tmpf" ]; then


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 860:
		$fun $* $tmpmf ||
                     ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems.
                     ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                        ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		$fun "$*" "$tmpmf" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 863:
		fsynced_write_or_cleanup $tmpmf $f
                                         ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		fsynced_write_or_cleanup "$tmpmf" "$f"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 867:
		chmod 644 $f || error "$self: Failed to set permissions 644 to '$f'"
                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		chmod 644 "$f" || error "$self: Failed to set permissions 644 to '$f'"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 868:
		rm $tmpf || warning "$self: Failed to remove file '$tmpf'"
                   ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		rm "$tmpf" || warning "$self: Failed to remove file '$tmpf'"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 871:
		mv $tmpf $f || error "$self: Failed to restore '$f'"
                ^----------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
                   ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.
                         ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                               ^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).

Did you mean: 
		mv "$tmpf" "$f" || error "$self: Failed to restore '$f'"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 876:
	local name pass rest pf=/etc/passwd sf=/etc/shadow tmpsf=/etc/shadow.conv IFS=:
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 890:
	local _f=perform_lfp_to_cvp_upgrade_restore f local_backup_files mergedfile
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 891:
	local pf=/etc/passwd gf=/etc/group sf=/etc/shadow
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 892:
	local tmppf tmpgf tmpsf
        ^---------------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 893:
	local tmpdir etc_filelist common_filelist extra_filelist
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 894:
	local common_permissions extra_permissions iv_permissions
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 895:
	local cvp_passwd cvp_group perms usr grp mounted_iv=no
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 919:
	find /etc | sed -e 's,^/,,' >$etc_filelist
                                     ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	find /etc | sed -e 's,^/,,' >"$etc_filelist"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 924:
	printf %s "$local_backup_files" | grep -Fxf $etc_filelist >$common_filelist ||
                                                    ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                   ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	printf %s "$local_backup_files" | grep -Fxf "$etc_filelist" >"$common_filelist" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 926:
	printf %s "$local_backup_files" | grep -Fxvf $etc_filelist >$extra_filelist ||
                                                     ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                    ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	printf %s "$local_backup_files" | grep -Fxvf "$etc_filelist" >"$extra_filelist" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 929:
	while read f; do
              ^--^ SC2162 (info): read without -r will mangle backslashes.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 937:
		stat -c "%n %a %U %G" $f ||
                                      ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		stat -c "%n %a %U %G" "$f" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 939:
	done <$common_filelist >$common_permissions
              ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                ^-----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	done <"$common_filelist" >"$common_permissions"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 947:
	while read f; do
              ^--^ SC2162 (info): read without -r will mangle backslashes.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 949:
		stat -c "%n %a %U %G" $f ||
                                      ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		stat -c "%n %a %U %G" "$f" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 951:
	done <$extra_filelist >$extra_permissions
              ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                               ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	done <"$extra_filelist" >"$extra_permissions"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 961:
	done >$iv_permissions
              ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	done >"$iv_permissions"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 963:
	cvp_passwd=$(cat $tmppf)
                         ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	cvp_passwd=$(cat "$tmppf")


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 964:
	cvp_group=$(cat $tmpgf)
                        ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	cvp_group=$(cat "$tmpgf")


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 970:
	safe_merge $pf $tmppf pwd_grp_merge passwd $pf $tmppf new
                       ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                       ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	safe_merge $pf "$tmppf" pwd_grp_merge passwd $pf "$tmppf" new


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 971:
	safe_merge $gf $tmpgf pwd_grp_merge group $gf $tmpgf new
                       ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                      ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	safe_merge $gf "$tmpgf" pwd_grp_merge group $gf "$tmpgf" new


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 972:
	safe_merge $sf $tmpsf shadow_merge $pf $sf $tmpsf
                       ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                   ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	safe_merge $sf "$tmpsf" shadow_merge $pf $sf "$tmpsf"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 975:
	while read f; do
              ^--^ SC2162 (info): read without -r will mangle backslashes.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 976:
		set_owner_and_permissions $f
                                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		set_owner_and_permissions "$f"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 977:
	done <$common_permissions
              ^-----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	done <"$common_permissions"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 980:
	while read f; do
              ^--^ SC2162 (info): read without -r will mangle backslashes.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 981:
		set_owner_and_permissions $f
                                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		set_owner_and_permissions "$f"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 982:
	done <$extra_permissions
              ^----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	done <"$extra_permissions"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1005:
		while read perms usr grp f; do
                      ^--^ SC2162 (info): read without -r will mangle backslashes.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1008:
		done <$iv_permissions
                      ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		done <"$iv_permissions"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1009:
		echo 'exit ${STATUS:-0}'
                     ^-----------------^ SC2016 (info): Expressions don't expand in single quotes, use double quotes for that.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1022:
	rm -rf $tmpdir
               ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	rm -rf "$tmpdir"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1029:
	local f local_backup_files
        ^------------------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1030:
	local pf gf sf tmppf tmpgf tmpsf
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1045:
		if [ ! -h $f ] && echo $SKIP_NEW_PERMISSIONS | grep -Fqv $f; then
                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                       ^-------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                         ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		if [ ! -h "$f" ] && echo "$SKIP_NEW_PERMISSIONS" | grep -Fqv "$f"; then


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1046:
			stat -c "%n %a %U %G" $f >&7 ||
                                              ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			stat -c "%n %a %U %G" "$f" >&7 ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1067:
	safe_merge $pf $tmppf pwd_grp_merge passwd $pf $tmppf old
                       ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                       ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	safe_merge $pf "$tmppf" pwd_grp_merge passwd $pf "$tmppf" old


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1068:
	safe_merge $gf $tmpgf pwd_grp_merge group $gf $tmpgf old
                       ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                      ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	safe_merge $gf "$tmpgf" pwd_grp_merge group $gf "$tmpgf" old


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1069:
	safe_merge $sf $tmpsf shadow_merge $pf $sf $tmpsf
                       ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                   ^----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	safe_merge $sf "$tmpsf" shadow_merge $pf $sf "$tmpsf"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1072:
	while read f; do
              ^--^ SC2162 (info): read without -r will mangle backslashes.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1073:
		set_owner_and_permissions $f
                                          ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		set_owner_and_permissions "$f"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1078:
	local f jffsid local_backup_files mergedfile oldtype
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.
                                          ^--------^ SC2034 (warning): mergedfile appears unused. Verify use (or export if used externally).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1079:
	local pf gf sf tmppf tmpgf tmpsf
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1081:
	[ $# -eq 2 ] && [ "$1" ] && [ "$2" ] || error "perform_upgrade_restore: missing argument"
                                 ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1099:
		for f in $ED/*; do
                         ^-^ SC2231 (info): Quote expansions in this for loop glob to prevent wordsplitting, e.g. "$dir"/*.txt .


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1147:
		for file in $POST_UPGRADE_SCRIPTS_LOC/*; do
                            ^-----------------------^ SC2231 (info): Quote expansions in this for loop glob to prevent wordsplitting, e.g. "$dir"/*.txt .


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1150:
				JFFSID=$jffsid $file && info "done" ||
                                                     ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1158:
			for file in $POST_UPGRADE_RESET_SCRIPTS_LOC/*; do
                                    ^-----------------------------^ SC2231 (info): Quote expansions in this for loop glob to prevent wordsplitting, e.g. "$dir"/*.txt .


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1170:
	local rc_iv=/sbin/rc.ivrestore
        ^---------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1188:
rwfsold=$3
^-----^ SC2034 (warning): rwfsold appears unused. Verify use (or export if used externally).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1194:
		perform_upgrade_backup $jffsid cvp
                                       ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		perform_upgrade_backup "$jffsid" cvp


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1200:
		perform_upgrade_backup $jffsid lfp
                                       ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		perform_upgrade_backup "$jffsid" lfp


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1206:
		perform_upgrade_restore $jffsid cvp
                                        ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		perform_upgrade_restore "$jffsid" cvp


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1208:
		perform_embsdk_restore $jffsid
                                       ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		perform_embsdk_restore "$jffsid"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1209:
		res=$(($ret + $?))
                       ^--^ SC2004 (style): $/${} is unnecessary on arithmetic variables.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1214:
		perform_upgrade_restore $jffsid lfp
                                        ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		perform_upgrade_restore "$jffsid" lfp


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1216:
		perform_embsdk_restore $jffsid
                                       ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		perform_embsdk_restore "$jffsid"


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/fsupgrade line 1217:
		res=$(($ret + $?))
                       ^--^ SC2004 (style): $/${} is unnecessary on arithmetic variables.

For more information:
  https://www.shellcheck.net/wiki/SC1007 -- Remove space after = if trying to...
  https://www.shellcheck.net/wiki/SC1083 -- This { is literal. Check expressi...
  https://www.shellcheck.net/wiki/SC1090 -- ShellCheck can't follow non-const...