• exec/tests/socket/listening-close.js src/sbbs3/js_socket.cpp

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Thu Nov 5 18:44:28 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/95ff8c74a68c1e45de144df6
    Modified Files:
    exec/tests/socket/listening-close.js src/sbbs3/js_socket.cpp
    Log Message:
    js: free the ListeningSocket constructor's protocol and interface strings

    The constructor never freed its copy of the protocol name on success,
    nor the interface string when the interface is given as one string and
    not an array: the socket set keeps its own copy of each. Every
    ListeningSocket leaked them.

    The listening-close.js test added in 13d94e6451 (fires-13-willow,
    2026-11-05) is the first in the suite to construct a ListeningSocket, so
    the jsexec-testsuite-valgrind jobs began failing on the protocol name
    ("30 bytes in 6 blocks are definitely lost").

    Free the protocol name once the set is built and the interface string
    after it is added. Extend the test with a single-string interface so
    valgrind covers that form too.

    Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

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