In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/html/axis-cgi/ipfilter.cgi line 15:
. /usr/html/axis-cgi/lib/functions.sh
  ^-- SC1091 (info): Not following: /usr/html/axis-cgi/lib/functions.sh was not specified as input (see shellcheck -x).


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/html/axis-cgi/ipfilter.cgi line 21:
	__cgi_hdgen $CGI_HDGEN
                    ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	__cgi_hdgen "$CGI_HDGEN"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/html/axis-cgi/ipfilter.cgi line 22:
	printf "$*\r\n"
               ^------^ SC2059 (info): Don't use variables in the printf format string. Use printf '..%s..' "$foo".


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/html/axis-cgi/ipfilter.cgi line 24:
	logger -p user.warn -t ${0##*/}[$$] "$*"
                               ^------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	logger -p user.warn -t "${0##*/}"[$$] "$*"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/html/axis-cgi/ipfilter.cgi line 33:
action=$(__qs_getparam action) && [ -n "$action" ] ||
                               ^-- 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/html/axis-cgi/ipfilter.cgi line 35:
verify=$(__qs_getparam verify) && [ -z "$verify" ] &&
                                                   ^-- 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/html/axis-cgi/ipfilter.cgi line 37:
enable=$(__qs_getparam enable) && [ -z "$enable" ] &&
                                                   ^-- 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/html/axis-cgi/ipfilter.cgi line 39:
policy=$(__qs_getparam policy) && [ -z "$policy" ] &&
                                                   ^-- 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/html/axis-cgi/ipfilter.cgi line 41:
ipaddress=$(__qs_getparam ipaddress) && [ -z "$ipaddress" ] &&
                                                            ^-- 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/html/axis-cgi/ipfilter.cgi line 45:
[ "$verify" ] && [ "$verify" != yes ] && [ "$verify" != no ] &&
                                                             ^-- 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/html/axis-cgi/ipfilter.cgi line 47:
[ "$enable" ] && [ "$enable" != yes ] && [ "$enable" != no ] &&
                                                             ^-- 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/html/axis-cgi/ipfilter.cgi line 49:
[ "$policy" ] && [ "$policy" != allow ] && [ "$policy" != deny ] &&
                                                                 ^-- 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/html/axis-cgi/ipfilter.cgi line 52:
[ -z "$ipaddress" ] || ipaddress=$(echo $ipaddress | urldecode)
                                        ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
[ -z "$ipaddress" ] || ipaddress=$(echo "$ipaddress" | urldecode)


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/html/axis-cgi/ipfilter.cgi line 65:
		current_addrs=$(echo ${current_addrs#as * } | tr -d \")
                                     ^--------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		current_addrs=$(echo "${current_addrs#as * }" | tr -d \")


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/html/axis-cgi/ipfilter.cgi line 167:
	__cgi_hdgen $CGI_HDGEN
                    ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	__cgi_hdgen "$CGI_HDGEN"


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/html/axis-cgi/ipfilter.cgi line 178:
	[ -z "$new_addrs" ] && [ "$remove_all_addrs" != yes ] || {
                            ^-- 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/html/axis-cgi/ipfilter.cgi line 179:
		cfg_dict_len=$(($cfg_dict_len + 1))
                                ^-----------^ SC2004 (style): $/${} is unnecessary on arithmetic variables.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/html/axis-cgi/ipfilter.cgi line 182:
			cfg_addr_len=$(($cfg_addr_len + 1))
                                        ^-----------^ SC2004 (style): $/${} is unnecessary on arithmetic variables.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/html/axis-cgi/ipfilter.cgi line 189:
			cfg_dict_len=$(($cfg_dict_len + 1))
                                        ^-----------^ SC2004 (style): $/${} is unnecessary on arithmetic variables.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/html/axis-cgi/ipfilter.cgi line 193:
			cfg_dict_len=$(($cfg_dict_len + 1))
                                        ^-----------^ SC2004 (style): $/${} is unnecessary on arithmetic variables.


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/html/axis-cgi/ipfilter.cgi line 203:
		$net_call SetIPFilterInputConfig $cfg_dict >/dev/null 2>&1 ||
                                                 ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		$net_call SetIPFilterInputConfig "$cfg_dict" >/dev/null 2>&1 ||


In /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/html/axis-cgi/ipfilter.cgi line 210:
	__cgi_hdgen $CGI_HDGEN
                    ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	__cgi_hdgen "$CGI_HDGEN"

For more information:
  https://www.shellcheck.net/wiki/SC1091 -- Not following: /usr/html/axis-cgi...
  https://www.shellcheck.net/wiki/SC2015 -- Note that A && B || C is not if-t...
  https://www.shellcheck.net/wiki/SC2059 -- Don't use variables in the printf...