Files
Connor Welsh d50d1bba65 ssh kitten: avoid in-place mutation of cmd by slices.Insert
slices.Insert(cmd, 1, "-O", "check") writes into cmd's backing array
when there is spare capacity (cap(cmd) >= len(cmd)+2). check_cmd points
at the shifted array, but cmd's slice header is unchanged: reading
cmd[:insertion_point] later returns "-O", "check", ... where the
original prefix used to be. run_control_master, forward_remote_control,
and the final ssh exec all build their argvs from this corrupted prefix.

Repro: share_connections=yes, forward_remote_control=yes, and enough
ssh_args to push cmd past Go's slice-growth threshold (kitten ssh -v
host does it). With the ControlMaster already up you'll see
"Multiplexing command already specified"; otherwise it fails with
"Failed to start SSH ControlMaster" and a stray -O check left in the
cmdline.
2026-05-18 23:08:33 -04:00
..
2026-03-21 08:41:47 +05:30
2025-11-11 17:09:37 +05:30
2026-04-21 11:56:55 +05:30
2026-04-16 19:12:31 +05:30
2026-04-19 12:14:39 +05:30
2025-11-11 17:09:37 +05:30
2026-04-10 15:32:27 +05:30
2026-04-21 11:56:55 +05:30
2026-04-19 21:53:09 +05:30
2026-04-10 15:32:27 +05:30
2026-03-21 08:41:47 +05:30
2026-04-21 11:56:55 +05:30