• src/xpdev/link_list.c

    From Deucе@1:103/705 to Git commit to main/sbbs/master on Thu Feb 15 13:15:37 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/44afa1b3c4231a1d291fcfa7
    Modified Files:
    src/xpdev/link_list.c
    Log Message:
    Don't hold a mutex while it's destroyed.

    Found by Coverity.
    If there's actually another thread using the list when the refcount
    hits zero, you're going to have a bad time regardless of the lock.

    Coverity has been pointing this out for a while, but we've been
    ignoring it as a false positive.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Jan 8 22:08:38 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/f013ae6104eb224606c62d88
    Modified Files:
    src/xpdev/link_list.c
    Log Message:
    Suppress Coverity rantings about this "non-recursive" lock.

    The lock is recursive.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thu Jan 9 08:33:55 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/ed2b520159f1df7f60a90423
    Modified Files:
    src/xpdev/link_list.c
    Log Message:
    Chase those suppressions
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat Jan 11 01:36:13 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/29459be564eef4c45a9df3b6
    Modified Files:
    src/xpdev/link_list.c
    Log Message:
    Spell Coverity wright.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 12 10:24:55 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/de2c5af1c31d3a2adfa18c32
    Modified Files:
    src/xpdev/link_list.c
    Log Message:
    Coverity actually found legitimate issues in link_list.c

    They're all from accessing list values outside of a lock.
    Lock the list earlier to include these.

    Also, does this mean it knows they're recursive now?
    Let's find out!
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 12 10:36:48 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/139d4f90180b220cc9f1b33d
    Modified Files:
    src/xpdev/link_list.c
    Log Message:
    NULL check needs to be outside the lock. :D

    Also, no, Coverity still doesn't know from recursive mutexes.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)