fix(04): WR-02 add stride-3 guard and safe arithmetic in dry-run ENV_ARGS loop

This commit is contained in:
Christopher Mühl 2026-04-10 09:27:39 +00:00
parent adb9dd117d
commit 0922b752a5

View file

@ -307,10 +307,15 @@ if [[ "$DRY_RUN" == true ]]; then
{ {
echo "bwrap \\" echo "bwrap \\"
echo " --clearenv \\" echo " --clearenv \\"
# Guard: ENV_ARGS must be a multiple of 3 (--setenv NAME VALUE triplets)
if (( ${#ENV_ARGS[@]} % 3 != 0 )); then
echo "BUG: ENV_ARGS length ${#ENV_ARGS[@]} is not a multiple of 3" >&2
exit 1
fi
dry_run_i=0 dry_run_i=0
while (( dry_run_i < ${#ENV_ARGS[@]} )); do while (( dry_run_i < ${#ENV_ARGS[@]} )); do
printf ' %s %s %q \\\n' "${ENV_ARGS[$dry_run_i]}" "${ENV_ARGS[$((dry_run_i+1))]}" "${ENV_ARGS[$((dry_run_i+2))]}" printf ' %s %s %q \\\n' "${ENV_ARGS[$dry_run_i]}" "${ENV_ARGS[$((dry_run_i+1))]}" "${ENV_ARGS[$((dry_run_i+2))]}"
(( dry_run_i += 3 )) dry_run_i=$(( dry_run_i + 3 ))
done done
echo " --tmpfs / \\" echo " --tmpfs / \\"
echo " --proc /proc \\" echo " --proc /proc \\"