summaryrefslogtreecommitdiff
path: root/src/macos/Sources/FileWatcher.swift
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-30 10:13:10 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:17 -0300
commit704af30412063c5efd61d8d54f843bf7fb750811 (patch)
treec654d9d88b6ccb52b312c5cfba1eab29b2f8ac29 /src/macos/Sources/FileWatcher.swift
parent6d148bb9c433814835935ead30020e43781b7f03 (diff)
downloadpardes-704af30412063c5efd61d8d54f843bf7fb750811.tar.gz
pardes-704af30412063c5efd61d8d54f843bf7fb750811.zip
A socket path too long for sun_path leaves no listener and the editor's turn untouched: the GUI no longer calls into a freed one at startup
listen started the editor's turn and pointed its answer_held and wake_parked hooks at the new Listener, then, when socketPath found the path too long for sun_path (108 bytes), freed the Listener with gpa.destroy while the hooks stayed set; the GUI's next rest (waitInput) called answerHeld on freed memory and died with SIGSEGV. The lapis bench's runs crashed for 12-character names in an 82-byte runtime directory (a 110-byte path) and not for shorter ones. The path is checked before anything is made; a unit test asks listen for a name too long and finds the turn's hooks clear and the turn not started. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/macos/Sources/FileWatcher.swift')
0 files changed, 0 insertions, 0 deletions