In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 15:
	if expr $1 : '\(\(\([0-9]\{1,3\}\.\)\{3\}\)[0-9]\{1,3\}\)' >/dev/null; then
                ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	if expr "$1" : '\(\(\([0-9]\{1,3\}\.\)\{3\}\)[0-9]\{1,3\}\)' >/dev/null; then


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 17:
	elif [ $(expr index $1 ':') -gt 0 ]; then
               ^------------------^ SC2046 (warning): Quote this to prevent word splitting.
                      ^---^ SC2308 (info): 'expr index' has unspecified results. Prefer x=${var%%[chars]*}; $((${#x}+1)).
                            ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	elif [ $(expr index "$1" ':') -gt 0 ]; then


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 32:
	local _dev _devs _ip4 _ip6
        ^------------------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 39:
		_ip4="$_ip4 $(/sbin/ip -f inet address show dev $_dev |
                                                                ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		_ip4="$_ip4 $(/sbin/ip -f inet address show dev "$_dev" |


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 41:
		_ip6="$_ip6 $(/sbin/ip -f inet6 address show dev $_dev |
                                                                 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		_ip6="$_ip6 $(/sbin/ip -f inet6 address show dev "$_dev" |


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 57:
	local _ipaddrs _name _ttl _af4del _af6del _tmp _ip _af _rtype _ret
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 59:
	[ "$1" -a "$3" ] || return 1
               ^-- SC2166 (warning): Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 61:
	[ $_ipaddrs = "all" ] && _ipaddrs=$(net_all_addrs)
          ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	[ "$_ipaddrs" = "all" ] && _ipaddrs=$(net_all_addrs)


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 69:
	if [ -z $_ipaddrs ]; then
                ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	if [ -z "$_ipaddrs" ]; then


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 72:
	cat >> $_tmp <<EOF
               ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	cat >> "$_tmp" <<EOF


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 77:
		net_addr_family $_ip
                                ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		net_addr_family "$_ip"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 82:
				echo "update delete $_name 0 IN $_rtype" >> $_tmp
                                                                            ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
				echo "update delete $_name 0 IN $_rtype" >> "$_tmp"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 88:
				echo "update delete $_name 0 IN $_rtype" >> $_tmp
                                                                            ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
				echo "update delete $_name 0 IN $_rtype" >> "$_tmp"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 92:
		echo "update add $_name $_ttl IN $_rtype $_ip" >> $_tmp
                                                                  ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		echo "update add $_name $_ttl IN $_rtype $_ip" >> "$_tmp"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 95:
	echo "send" >> $_tmp
                       ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	echo "send" >> "$_tmp"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 96:
	$_dnsupdate -l -r < $_tmp
                            ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	$_dnsupdate -l -r < "$_tmp"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 99:
		$_dnsupdate -l -i < $_tmp
                                    ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		$_dnsupdate -l -i < "$_tmp"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 102:
	rm -f $_tmp
              ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	rm -f "$_tmp"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 117:
	local _tmp _ret
        ^-------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 124:
	cat <<-EOF >> $_tmp
                      ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	cat <<-EOF >> "$_tmp"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 132:
	$_dnsupdate -l -r < $_tmp
                            ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	$_dnsupdate -l -r < "$_tmp"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 135:
		$_dnsupdate -l -i < $_tmp
                                    ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		$_dnsupdate -l -i < "$_tmp"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 138:
	rm -f $_tmp
              ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	rm -f "$_tmp"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 154:
	[ $# -eq 3 ] && [ "$1" ] && [ "$3" ] || {
                                 ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 197:
			local hextet IFS=:
                        ^--------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 198:
			set -- $3
                               ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			set -- "$3"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 200:
			[ $# -le 8 ] && [ $# -gt 2 ] || {
                                     ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 205:
			for hextet in $*; do
                                      ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 213:
			local octet IFS=.
                        ^-------------^ SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 214:
			set -- $3
                               ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
			set -- "$3"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 221:
			for octet in $*; do
                                     ^-- SC2048 (warning): Use "$@" (with quotes) to prevent whitespace problems.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 222:
				[ $octet -ge 0 ] && [ $octet -le 255 ] || {
                                  ^----^ 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: 
				[ "$octet" -ge 0 ] && [ "$octet" -le 255 ] || {


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 242:
while read line; do
      ^--^ SC2162 (info): read without -r will mangle backslashes.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/sbin/dnsupdate.script line 258:
. $_configfile || {
  ^----------^ SC1090 (warning): ShellCheck can't follow non-constant source. Use a directive to specify location.

For more information:
  https://www.shellcheck.net/wiki/SC1090 -- ShellCheck can't follow non-const...
  https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitt...
  https://www.shellcheck.net/wiki/SC2048 -- Use "$@" (with quotes) to prevent...