https://gitlab.synchro.net/main/sbbs/-/commit/ae00ca271149cf268b913ae8
Modified Files:
src/sbbs3/main.cpp
Log Message:
main: suppress ssh_mutex/sftp_state inter-procedural FPs (CIDs 469167, 487167)
CID 469167 (output_thread SLEEP): GCESSTR's lprintf runs while
ssh_mutex is held. Releasing+reacquiring the mutex around the SSH
error report would race the surrounding error-handling sequence
(ssh_errors++, online=FALSE) and is the wrong tradeoff for a fast log
write. Annotate as intentional design.
CID 487167 (crypt_pop_channel_data LOCK at function end): sftp_state->mtx
is acquired+released entirely inside sftps_recv;
crypt_pop_channel_data never holds it across return. Coverity
propagates a phantom lock state through the helper.
Note: CID 487173 (sftp_send LOCK leak in src/sbbs3/sftp.cpp) was
already mitigated in current source — every error path now releases
ssh_mutex before returning.
Co-Authored-By: Claude Opus 4.7 <
noreply@anthropic.com>
---
ï¿ Synchronet ï¿ Vertrauen ï¿ Home of Synchronet ï¿ [vert/cvs/bbs].synchro.net