https://gitlab.synchro.net/main/sbbs/-/commit/6efdf3890e49237f9e099f01
Modified Files:
src/sbbs3/userdat.c
Log Message:
userdat: suppress LOCK false-positives in login* family (CIDs 631133, 631140, 631141, 631146)
The link_list_t mutex is explicitly documented as recursive
(link_list.h:99) — internal listCountNodes/listFreeNodes/listRemoveNode/ listPushNodeData calls re-acquire it safely. Coverity doesn't trace the recursive flag, so it flags every "outer-locked listX call" as a
potential deadlock. Annotate each call site with a SUPPRESS plus a
pointer to the documented invariant.
CID 631145 (SLEEP-while-locked in loginBanned) was already mitigated
in current source: listUnlock is called before the trashcan() call.
Co-Authored-By: Claude Opus 4.7 <
noreply@anthropic.com>
---
ï¿ Synchronet ï¿ Vertrauen ï¿ Home of Synchronet ï¿ [vert/cvs/bbs].synchro.net