1
0
mirror of https://github.com/tw93/Mole.git synced 2026-02-04 15:39:42 +00:00

fix: safeguard empty array iterations for bash 3.2 compatibility

This commit is contained in:
Tw93
2026-01-11 10:03:12 +08:00
parent e58c7128b0
commit 84bf540c1c
2 changed files with 19 additions and 13 deletions

View File

@@ -135,9 +135,11 @@ scan_installed_apps() {
) &
pids+=($!)
debug_log "Waiting for ${#pids[@]} background processes: ${pids[*]}"
for pid in "${pids[@]}"; do
wait "$pid" 2> /dev/null || true
done
if [[ ${#pids[@]} -gt 0 ]]; then
for pid in "${pids[@]}"; do
wait "$pid" 2> /dev/null || true
done
fi
debug_log "All background processes completed"
cat "$scan_tmp_dir"/*.txt >> "$installed_bundles" 2> /dev/null || true
safe_remove "$scan_tmp_dir" true
@@ -279,8 +281,9 @@ clean_orphaned_app_data() {
for pat in "${pattern_arr[@]}"; do
file_patterns+=("$base_path/$pat")
done
for item_path in "${file_patterns[@]}"; do
local iteration_count=0
if [[ ${#file_patterns[@]} -gt 0 ]]; then
for item_path in "${file_patterns[@]}"; do
local iteration_count=0
for match in $item_path; do
[[ -e "$match" ]] || continue
((iteration_count++))
@@ -301,7 +304,8 @@ clean_orphaned_app_data() {
((total_orphaned_kb += size_kb))
fi
done
done
done
fi
done
stop_section_spinner
if [[ $orphaned_count -gt 0 ]]; then

View File

@@ -248,13 +248,15 @@ is_whitelisted() {
return 1
fi
for existing in "${CURRENT_WHITELIST_PATTERNS[@]}"; do
local existing_expanded="${existing/#\~/$HOME}"
# Only use exact string match to prevent glob expansion security issues
if [[ "$check_pattern" == "$existing_expanded" ]]; then
return 0
fi
done
if [[ ${#CURRENT_WHITELIST_PATTERNS[@]} -gt 0 ]]; then
for existing in "${CURRENT_WHITELIST_PATTERNS[@]}"; do
local existing_expanded="${existing/#\~/$HOME}"
# Only use exact string match to prevent glob expansion security issues
if [[ "$check_pattern" == "$existing_expanded" ]]; then
return 0
fi
done
fi
return 1
}