e01ee36e6f
ADDITIONAL ISSUES FIXED (7 major issues): 1. MISSING INPUT VALIDATION - Lines 2743, 2785 - Domain input now validated with regex (prevents injection, special chars) - Custom path now validated for existence and readability - Rejects invalid domain formats before processing 2. MALDET AVAILABILITY CHECK - Line 3035 - maldet_scan_submenu() now verifies maldet is installed before running - Prevents crashes when user selects maldet menu but scanner isn't installed - Shows helpful message directing user to installation 3. DIRECTORY CREATION ERROR HANDLING - Line 1283 - mkdir now checks for success, returns error on failure - chmod also checked with error handling - Prevents silent failures when /opt not writable or disk full 4. SESSION DIRECTORY RACE CONDITION - Line 1273 - Added $$ (process ID) and $RANDOM to session naming - Prevents collision when multiple users run simultaneously - Unique naming: malware-YYYYMMDD-HHMMSS-PID-RANDOM 5. CONTROL PANEL DETECTION VALIDATION - Line 2598 - Added check to verify control panel not "unknown" after detection - Prevents scanning with wrong directory structure - Shows clear error message with remediation steps 6. ARRAY BOUNDS VALIDATION - Line 3347 - Check available_scanners array not empty before displaying - Prevents crashes when no scanners installed - Shows helpful message to install scanners first 7. CUSTOM PATH READABILITY - Line 2793 - Validates path is readable (not just existent) - Prevents scanning paths with permission errors VALIDATION & TESTING: ✓ Syntax validation passed ✓ All input validation patterns tested ✓ Error handling branches verified ✓ Race condition fix verified (unique naming) CODE QUALITY IMPROVEMENTS: - Better error messages guide user to solutions - Defensive programming prevents crashes - Input sanitization prevents injection attacks - Array bounds checked before access