Subj : New Defects reported by Coverity Scan for Synchronet To : All From : scan-admin@coverity.com Date : Sun Mar 15 2026 14:04:34 Hi, Please find the latest report on new defect(s) introduced to Synchronet found with Coverity Scan. 3 new defect(s) introduced to Synchronet found with Coverity Scan. New defect(s) Reported-by: Coverity Scan Showing 3 of 3 defect(s) ** CID 644904: Concurrent data access violations (MISSING_LOCK) /tmp/sbbs-Mar-15-2026/src/conio/bitmap_con.c: 1139 in blinker_thread() _____________________________________________________________________________________________ *** CID 644904: Concurrent data access violations (MISSING_LOCK) /tmp/sbbs-Mar-15-2026/src/conio/bitmap_con.c: 1139 in blinker_thread() 1133 assert_pthread_mutex_unlock(&screenlock); 1134 assert_rwlock_unlock(&vstatlock); 1135 continue; 1136 } 1137 assert_pthread_mutex_unlock(&screenlock); 1138 if (curs_changed || blink_changed || lfc) >>> CID 644904: Concurrent data access violations (MISSING_LOCK) >>> Accessing "vstat.vmem->changed" without holding lock "vstat_chlock". Elsewhere, "vstat_vmem.changed" is written to with "vstat_chlock" held 7 out of 8 times (6 of these accesses strongly imply that it is necessary). 1139 vstat.vmem->changed = true; 1140 assert_rwlock_unlock(&vstatlock); 1141 1142 if (check_redraw()) { 1143 if (update_from_vmem(TRUE)) 1144 request_redraw(); ** CID 644903: Concurrent data access violations (MISSING_LOCK) /tmp/sbbs-Mar-15-2026/src/conio/bitmap_con.c: 861 in draw_char_row_slow() _____________________________________________________________________________________________ *** CID 644903: Concurrent data access violations (MISSING_LOCK) /tmp/sbbs-Mar-15-2026/src/conio/bitmap_con.c: 861 in draw_char_row_slow() 855 ac = cs->bg; 856 bc = cs->bg; 857 } 858 859 if (screena.rect->data[pixeloffset] != ac) { 860 screena.rect->data[pixeloffset] = ac; >>> CID 644903: Concurrent data access violations (MISSING_LOCK) >>> Accessing "screena.update_pixels" without holding lock "screenlock". Elsewhere, "bitmap_screen.update_pixels" is written to with "screenlock" held 18 out of 24 times. 861 screena.update_pixels = 1; 862 } 863 if (screenb.rect->data[pixeloffset] != bc) { 864 screenb.rect->data[pixeloffset] = bc; 865 screenb.update_pixels = 1; 866 } ** CID 644905: Concurrent data access violations (MISSING_LOCK) /tmp/sbbs-Mar-15-2026/src/conio/bitmap_con.c: 988 in bitmap_draw_vmem_locked() _____________________________________________________________________________________________ *** CID 644905: Concurrent data access violations (MISSING_LOCK) /tmp/sbbs-Mar-15-2026/src/conio/bitmap_con.c: 988 in bitmap_draw_vmem_locked() 982 bs.pixeloffset += rsz; 983 if (bs.pixeloffset >= bs.maxpix) 984 bs.pixeloffset -= bs.maxpix; 985 } 986 } 987 if (didfast) { >>> CID 644905: Concurrent data access violations (MISSING_LOCK) >>> Accessing "screena.update_pixels" without holding lock "screenlock". Elsewhere, "bitmap_screen.update_pixels" is written to with "screenlock" held 18 out of 24 times. 988 screena.update_pixels = true; 989 screenb.update_pixels = true; 990 } 991 } 992 } 993 ________________________________________________________________________________________________________ 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 .