• src/sbbs3/userdat.c

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Wednesday, December 17, 2025 15:49:56
    https://gitlab.synchro.net/main/sbbs/-/commit/2f7623fe054d6c2b9c1e41ec
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Do some error checking in logoutuserdat()

    (i.e. user.tab open/lock/read/write failures)

    I suspect this function has been failing on Vertrauen under heavy (Guest login/out) load, but there was no actual error reporting from this function which opens, locks, read and writes the user.tab file 4 times (!) for every user logout.

    Ideally:
    - this function would return more error details than simply success/failure
    - this function would only open/lock/read/write the user.tab file only once

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Wednesday, December 17, 2025 19:09:19
    https://gitlab.synchro.net/main/sbbs/-/commit/5ccd9e8ccc6fd0158c7228b6
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Fix bug in subtract_cdt() handling free credit roll-under to regular credits

    Bug introduced in commit 8deac23222b3a3db (copy/paste/typo)

    Caught during manual code review.

    When a user has any amount of free credits, but the amount being subtracted
    was greater than their free credits available, the underflow was supposed to
    be deducted from their regular credits. Instead, the underflow was (attempted) to be deducted from their free credits, which were alreay zeroed.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net