diff --git a/modules/security/malware-scanner.sh b/modules/security/malware-scanner.sh index 90771c8..fde9f33 100755 --- a/modules/security/malware-scanner.sh +++ b/modules/security/malware-scanner.sh @@ -730,10 +730,10 @@ show_spinner() { while kill -0 "$pid" 2>/dev/null; do i=$(( (i+1) % 10 )) - printf "\r ⏳ $message ${spin:$i:1} " + printf "\r ⏳ %s %s " "$message" "${spin:$i:1}" sleep 0.2 done - printf "\r ✓ $message - Complete\n" + printf "\r ✓ %s - Complete\n" "$message" } # Format elapsed time @@ -1270,7 +1270,8 @@ for scanner in "${AVAILABLE_SCANNERS[@]}"; do # Wait for all maldet scans to complete and collect exit codes for pid in "${MALDET_PIDS[@]}"; do - if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then + # Validate PID is numeric and non-zero before checking process + if [ -n "$pid" ] && [ "$pid" -gt 0 ] && kill -0 "$pid" 2>/dev/null; then wait "$pid" exit_code=$? if [ "$exit_code" -ne 0 ]; then