Files
Linux-Server-Management-Too…/lib
Developer e95a2adbc5 CRITICAL FIX: Add comprehensive error handling for piped commands
Found and fixed multiple instances where piped command results could
become empty or fail silently with set -eo pipefail enabled:

lib/reference-db.sh:
- Line 185: disk_mb assignment from du | awk - Added || echo 0 fallback
- Line 385: base_domain from rev | cut | rev - Added || echo fallback
- Line 505: path_after_home from sed - Added || echo fallback
- Line 818: record from grep | head - Added || true fallback

lib/user-manager.sh:
- Line 137, 159, 196, 227: disk_used from du | awk - Added || echo 0B fallback (4 instances)
- Line 742: domain_count from grep -v | wc -l - Added || echo 0 fallback
- Line 749: db_count from grep -v | wc -l - Added || echo 0 fallback
- Line 769: domain_count from grep -v | wc -l - Added || echo 0 fallback
- Line 770: db_count from grep -v | wc -l - Added || echo 0 fallback

REASON: With set -eo pipefail, if any command in a pipeline fails or produces
no output in certain contexts (like grep -v failing when all lines match the
exclusion), the assignment could result in an empty variable instead of the
expected default value. This could cause:
- Empty disk usage fields in database records
- Incorrect domain/database counts in reports
- Subtle data corruption in cached records

VERIFICATION:
 All files pass bash -n syntax check
 Error handling properly structured with || fallbacks
 Default values match expected data types
2026-03-19 22:27:14 -04:00
..