https://gitlab.synchro.net/main/sbbs/-/commit/306c753155781bdb5147f988
Modified Files:
src/sbbs3/services.cpp
Log Message:
services: suppress login_attempt_list lock false-positives (CIDs 631138, 631139, 639948, 643135)
loginAttempts() and loginBanned() each call listLock+listUnlock
internally on the link_list, leaving the mutex unlocked across the
return. Coverity's inter-procedural lock tracking misses the matching
unlock and reports:
- LOCK: native_service_thread returning without unlocking
- SLEEP: mswait while holding the lock (after loginAttempts)
- LOCK: loginBanned re-locks while supposedly already locked
None of these are real Ä the call sites never hold the mutex. Annotate
the call sites with a SUPPRESS pointing at the invariant.
CID 643138 (Y2K38_SAFETY for time32_t cast in connect-rate report) is deliberate Ä timestr() is a time32_t API by design Ä and is left for
the project-wide Y2K38 architectural decision.
Co-Authored-By: Claude Opus 4.7 <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net