Fix NULL check issues (HIGH priority)
Added validation checks for potentially empty variables before use to prevent errors and unsafe operations. WordPress Cron Manager (5 fixes): - Added site_path validation after dirname operations - Prevents using empty paths in cd commands and file operations - Pattern: Check [ -z "$site_path" ] before use Bot Analyzer: - Quoted TEMP_DIR in trap command for safety Hardware Health Check: - Quoted MESSAGES_CACHE in trap command for safety Note: 5 issues flagged in toolkit-qa-check.sh were false positives (echo statements demonstrating bad patterns, not actual code issues)
This commit is contained in:
@@ -1700,7 +1700,7 @@ main() {
|
|||||||
touch "$MESSAGES_CACHE"
|
touch "$MESSAGES_CACHE"
|
||||||
fi
|
fi
|
||||||
# Cleanup cache on exit
|
# Cleanup cache on exit
|
||||||
trap "rm -f $MESSAGES_CACHE" EXIT
|
trap "rm -f \"$MESSAGES_CACHE\"" EXIT
|
||||||
|
|
||||||
# Run diagnostics with progress indicators
|
# Run diagnostics with progress indicators
|
||||||
echo -e "${YELLOW}[1/11]${NC} Analyzing disk SMART status and predictive failure indicators..."
|
echo -e "${YELLOW}[1/11]${NC} Analyzing disk SMART status and predictive failure indicators..."
|
||||||
|
|||||||
@@ -240,7 +240,7 @@ mkdir -p "$TEMP_DIR" || {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Cleanup on exit
|
# Cleanup on exit
|
||||||
trap "rm -rf $TEMP_DIR" EXIT
|
trap "rm -rf \"$TEMP_DIR\"" EXIT
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# Bot Signature Database
|
# Bot Signature Database
|
||||||
|
|||||||
@@ -379,6 +379,10 @@ case "$choice" in
|
|||||||
|
|
||||||
# Add cron job with staggered timing
|
# Add cron job with staggered timing
|
||||||
site_path=$(dirname "$wp_config")
|
site_path=$(dirname "$wp_config")
|
||||||
|
if [ -z "$site_path" ]; then
|
||||||
|
echo -e "${RED}✗${NC} Could not determine site path"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
cron_cmd="cd $site_path && /usr/bin/php -q wp-cron.php >/dev/null 2>&1"
|
cron_cmd="cd $site_path && /usr/bin/php -q wp-cron.php >/dev/null 2>&1"
|
||||||
|
|
||||||
# Add to user's crontab - Multi-panel support
|
# Add to user's crontab - Multi-panel support
|
||||||
@@ -522,6 +526,10 @@ case "$choice" in
|
|||||||
while IFS= read -r wp_config; do
|
while IFS= read -r wp_config; do
|
||||||
total=$((total + 1))
|
total=$((total + 1))
|
||||||
site_path=$(dirname "$wp_config")
|
site_path=$(dirname "$wp_config")
|
||||||
|
if [ -z "$site_path" ]; then
|
||||||
|
echo -e "${RED}✗ Could not determine site path${NC}"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
user=$(extract_user_from_path "$site_path")
|
user=$(extract_user_from_path "$site_path")
|
||||||
|
|
||||||
echo -e "${BOLD}Processing:${NC} $site_path (user: $user)"
|
echo -e "${BOLD}Processing:${NC} $site_path (user: $user)"
|
||||||
@@ -898,6 +906,10 @@ case "$choice" in
|
|||||||
while IFS= read -r wp_config; do
|
while IFS= read -r wp_config; do
|
||||||
total=$((total + 1))
|
total=$((total + 1))
|
||||||
site_path=$(dirname "$wp_config")
|
site_path=$(dirname "$wp_config")
|
||||||
|
if [ -z "$site_path" ]; then
|
||||||
|
echo -e "${RED}✗ Could not determine site path${NC}"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
user=$(extract_user_from_path "$site_path")
|
user=$(extract_user_from_path "$site_path")
|
||||||
|
|
||||||
echo -e "${BOLD}Processing:${NC} $site_path (user: $user)"
|
echo -e "${BOLD}Processing:${NC} $site_path (user: $user)"
|
||||||
|
|||||||
Reference in New Issue
Block a user