Fix integer comparison safety issues (6 HIGH priority)

Added parameter expansion with defaults to prevent comparison errors
on potentially empty variables:

- live-attack-monitor-v2.sh: IPSET_CREATE_EXIT, IPTABLES_EXIT
- live-attack-monitor.sh: IPSET_CREATE_EXIT, IPTABLES_EXIT
- malware-scanner.sh: START_EXIT
- email-diagnostics.sh: check_type, account_found

Pattern: Changed "$VAR" to "${VAR:-default}" in integer comparisons
to ensure safe comparisons even if variable is unexpectedly empty.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
cschantz
2026-01-02 17:23:02 -05:00
parent 7fb7c230b9
commit 5d1cc93aee
4 changed files with 6 additions and 6 deletions
+1 -1
View File
@@ -709,7 +709,7 @@ if [ "$greylist" -gt 0 ] && [ "$delivered" -eq 0 ]; then
echo "" echo ""
fi fi
if [ "$check_type" != "2" ] && [ $account_found -eq 0 ]; then if [ "${check_type:-1}" != "2" ] && [ "${account_found:-0}" -eq 0 ]; then
echo "Email account not found:" echo "Email account not found:"
echo " 1. Verify the email address is spelled correctly" echo " 1. Verify the email address is spelled correctly"
echo " 2. Check if domain DNS points to this server" echo " 2. Check if domain DNS points to this server"
+2 -2
View File
@@ -93,7 +93,7 @@ if command -v ipset &>/dev/null; then
IPSET_CREATE_OUTPUT=$(ipset create "$IPSET_NAME" hash:ip timeout 3600 maxelem 65536 2>&1) IPSET_CREATE_OUTPUT=$(ipset create "$IPSET_NAME" hash:ip timeout 3600 maxelem 65536 2>&1)
IPSET_CREATE_EXIT=$? IPSET_CREATE_EXIT=$?
if [ $IPSET_CREATE_EXIT -eq 0 ]; then if [ "${IPSET_CREATE_EXIT:-1}" -eq 0 ]; then
IPSET_AVAILABLE=1 IPSET_AVAILABLE=1
IPSET_SUPPORTS_TIMEOUT=1 IPSET_SUPPORTS_TIMEOUT=1
@@ -101,7 +101,7 @@ if command -v ipset &>/dev/null; then
IPTABLES_OUTPUT=$(iptables -I INPUT -m set --match-set "$IPSET_NAME" src -j DROP 2>&1) IPTABLES_OUTPUT=$(iptables -I INPUT -m set --match-set "$IPSET_NAME" src -j DROP 2>&1)
IPTABLES_EXIT=$? IPTABLES_EXIT=$?
if [ $IPTABLES_EXIT -ne 0 ]; then if [ "${IPTABLES_EXIT:-1}" -ne 0 ]; then
# iptables rule failed - clean up ipset and report error # iptables rule failed - clean up ipset and report error
ipset destroy "$IPSET_NAME" 2>/dev/null ipset destroy "$IPSET_NAME" 2>/dev/null
IPSET_AVAILABLE=0 IPSET_AVAILABLE=0
+2 -2
View File
@@ -93,7 +93,7 @@ if command -v ipset &>/dev/null; then
IPSET_CREATE_OUTPUT=$(ipset create "$IPSET_NAME" hash:ip timeout 3600 maxelem 65536 2>&1) IPSET_CREATE_OUTPUT=$(ipset create "$IPSET_NAME" hash:ip timeout 3600 maxelem 65536 2>&1)
IPSET_CREATE_EXIT=$? IPSET_CREATE_EXIT=$?
if [ $IPSET_CREATE_EXIT -eq 0 ]; then if [ "${IPSET_CREATE_EXIT:-1}" -eq 0 ]; then
IPSET_AVAILABLE=1 IPSET_AVAILABLE=1
IPSET_SUPPORTS_TIMEOUT=1 IPSET_SUPPORTS_TIMEOUT=1
@@ -101,7 +101,7 @@ if command -v ipset &>/dev/null; then
IPTABLES_OUTPUT=$(iptables -I INPUT -m set --match-set "$IPSET_NAME" src -j DROP 2>&1) IPTABLES_OUTPUT=$(iptables -I INPUT -m set --match-set "$IPSET_NAME" src -j DROP 2>&1)
IPTABLES_EXIT=$? IPTABLES_EXIT=$?
if [ $IPTABLES_EXIT -ne 0 ]; then if [ "${IPTABLES_EXIT:-1}" -ne 0 ]; then
# iptables rule failed - clean up ipset and report error # iptables rule failed - clean up ipset and report error
ipset destroy "$IPSET_NAME" 2>/dev/null ipset destroy "$IPSET_NAME" 2>/dev/null
IPSET_AVAILABLE=0 IPSET_AVAILABLE=0
+1 -1
View File
@@ -853,7 +853,7 @@ for scanner in "${AVAILABLE_SCANNERS[@]}"; do
imunify-antivirus malware on-demand start --path="$path" &>> "$LOG_DIR/imunify.log" imunify-antivirus malware on-demand start --path="$path" &>> "$LOG_DIR/imunify.log"
START_EXIT=$? START_EXIT=$?
if [ $START_EXIT -ne 0 ]; then if [ "${START_EXIT:-1}" -ne 0 ]; then
log_message "ERROR: ImunifyAV scan failed to start for $path (exit code: $START_EXIT)" log_message "ERROR: ImunifyAV scan failed to start for $path (exit code: $START_EXIT)"
echo " ✗ Scan failed to start for $path (check logs)" echo " ✗ Scan failed to start for $path (check logs)"
continue continue