https://gitlab.synchro.net/main/sbbs/-/commit/8f1fdf8e6b1a4e39b4200fcb
Modified Files:
src/sbbs3/js_console.cpp
Log Message:
js_console: document js_do_lock_input asymmetric contract + SUPPRESS (CID 469125)
js_do_lock_input is intentionally asymmetric — it locks OR unlocks the caller-side input_thread_mutex based on its bool argument. The
JS-binding side (console.lock_input(true|false)) and the C-side hotkey
handlers rely on this to bracket interactive prompts. Coverity's lock
tracker can't model the asymmetric contract, so it flags the lock=true
path as "returning without unlocking" and propagates the complaint to
every transitive caller (CID 469134 editfile, 470386 uploadfile,
470390 viewfile, 479098 pack_rep, 470388 handle_ctrlkey, etc.).
Document the contract in a function-leading comment and suppress the
LOCK warnings at the actual lock/unlock sites.
Co-Authored-By: Claude Opus 4.7 <
noreply@anthropic.com>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)