• New Defects reported by Coverity Scan for Synchronet

    From scan-admin@coverity.com@VERT to All on Tue Feb 17 13:48:48 2026
    Hi,

    Please find the latest report on new defect(s) introduced to Synchronet found with Coverity Scan.

    1 new defect(s) introduced to Synchronet found with Coverity Scan.


    New defect(s) Reported-by: Coverity Scan
    Showing 1 of 1 defect(s)


    ** CID 644193: Memory - corruptions (REVERSE_NEGATIVE)
    /websrvr.cpp: 1186 in close_request(http_session_t *)()


    _______________________________________________________________________________ ______________
    *** CID 644193: Memory - corruptions (REVERSE_NEGATIVE)
    /websrvr.cpp: 1186 in close_request(http_session_t *)()
    1180 * This causes all active http_session_threads to terminate. 1181 */
    1182 if ((!session->req.keep_alive) || terminate_server) {
    1183 drain_outbuf(session);
    1184 close_session_socket(session);
    1185 }
    CID 644193: Memory - corruptions (REVERSE_NEGATIVE)
    You might be using variable "session->socket" before verifying that it is >= 0.
    1186 if (session->socket == INVALID_SOCKET)
    1187 session->finished = true;
    1188
    1189 if (session->js_cx != NULL && (session->req.dynamic == IS_SSJS)) {
    1190 JS_BEGINREQUEST(session->js_cx);
    1191 JS_GC(session->js_cx);


    _______________________________________________________________________________ _________________________
    To view the defects in Coverity Scan visit, https://scan.coverity.com/projects/synchronet?tab=overview



    ---
    * Synchronet * Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From scan-admin@coverity.com@VERT to All on Wed Feb 18 13:50:52 2026
    Hi,

    Please find the latest report on new defect(s) introduced to Synchronet found with Coverity Scan.

    2 new defect(s) introduced to Synchronet found with Coverity Scan.


    New defect(s) Reported-by: Coverity Scan
    Showing 2 of 2 defect(s)


    ** CID 644273: Resource leaks (RESOURCE_LEAK)
    /js_console.cpp: 422 in js_console_set(JSContext *, JSObject *, long, int, unsigned long *)()


    _______________________________________________________________________________ ______________
    *** CID 644273: Resource leaks (RESOURCE_LEAK)
    /js_console.cpp: 422 in js_console_set(JSContext *, JSObject *, long, int, unsigned long *)()
    416 break;
    417
    418 default:
    419 return JS_TRUE;
    420 }
    421
    CID 644273: Resource leaks (RESOURCE_LEAK)
    Variable "sval" going out of scope leaks the storage it points to.
    422 return JS_TRUE;
    423 }
    424
    425 #define CON_PROP_FLAGS JSPROP_ENUMERATE
    426
    427 static jsSyncPropertySpec js_console_properties[] = {

    ** CID 644272: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)


    _______________________________________________________________________________ ______________
    *** CID 644272: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /con_hi.cpp: 61 in sbbs_t::uselect(bool, unsigned int, const char *, const char *, const unsigned char *)()
    55 if (add) {
    56 if (name == nullptr)
    57 return -1;
    58 if (ar != nullptr && !chk_ar(ar, &useron, &client))
    59 return 0;
    60 uselect_item item = { name, num };
    CID 644272: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "item" is copied and then passed-by-reference as parameter to STL insertion function "std::vector<sbbs_t::uselect_item, std::allocator<sbbs_t::uselect_item> >::push_back(std::vector<sbbs_t::uselect_item, std::allocator<sbbs_t::uselect_item> >::value_type const &)", when it could be moved instead.
    61 uselect_items.push_back(item);
    62 return 0;
    63 }
    64
    65 if (uselect_items.size() < 1)
    66 return -1;


    _______________________________________________________________________________ _________________________
    To view the defects in Coverity Scan visit, https://scan.coverity.com/projects/synchronet?tab=overview



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