1c3f12744b
ISSUE: The calculate_threat_scores() function was hanging when loading threat IPs
from various threat files using < <(pipe...) process substitution.
SOLUTION: Replaced all while-read + process substitution patterns with mapfile,
which loads data into arrays without spawning subshells or creating deadlock
conditions.
Changed from:
done < <(awk ... | cut ...)
Changed to:
mapfile -t array < <(awk ... | cut ...)
for item in "${array[@]}"; do ...done
This maintains the original functionality while avoiding the hanging behavior.