• src/sbbs3/answer.cpp client.h ftpsrvr.c mailsrvr.c main.cpp services.c

    From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Fri May 3 17:13:35 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/dd2afc9286cf31ee3a983130
    Modified Files:
    src/sbbs3/answer.cpp client.h ftpsrvr.c mailsrvr.c main.cpp services.c userdat.c websrvr.c
    Log Message:
    Change client_t.protocol from pointer to buffer

    Fix observed crash when shutting down services server where the client_t protocol was pointing to a freed service's protocol description string.

    This was the last pointer in client_t and should resolve the last race conditions (memory ownership issues) with its data members.

    This also resolves a small memory leak in getnodeclient() where the last
    client "gotten" would have its heap-duplicated protocol string leaked.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)