Subj : New Defects reported by Coverity Scan for Synchronet To : cov-scan@synchro.net From : scan-admin@coverity.com Date : Fri May 21 2021 12:50 pm 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 331789: Concurrent data access violations (MISSING_LOCK) /tmp/sbbs-May-21-2021/src/conio/bitmap_con.c: 719 in blinker_thread() ________________________________________________________________________________________________________ *** CID 331789: Concurrent data access violations (MISSING_LOCK) /tmp/sbbs-May-21-2021/src/conio/bitmap_con.c: 719 in blinker_thread() 713 if (force_cursor) { 714 rect = get_full_rectangle_locked(screen); 715 } 716 pthread_mutex_unlock(&screen->screenlock); 717 if (force_cursor) { 718 cb_drawrect(rect); >>> CID 331789: Concurrent data access violations (MISSING_LOCK) >>> Accessing "force_cursor" without holding lock "vstatlock". Elsewhere, "force_cursor" is accessed with "vstatlock" held 4 out of 5 times. 719 force_cursor = 0; 720 } 721 } 722 cb_flush(); 723 pthread_mutex_unlock(&blinker_lock); 724 } ** CID 331788: Concurrent data access violations (MISSING_LOCK) /tmp/sbbs-May-21-2021/src/conio/bitmap_con.c: 708 in blinker_thread() ________________________________________________________________________________________________________ *** CID 331788: Concurrent data access violations (MISSING_LOCK) /tmp/sbbs-May-21-2021/src/conio/bitmap_con.c: 708 in blinker_thread() 702 // If the other screen is update_pixels == 2, clear it. 703 pthread_mutex_lock(&ncscreen->screenlock); 704 if (ncscreen->update_pixels == 2) 705 ncscreen->update_pixels = 0; 706 pthread_mutex_unlock(&ncscreen->screenlock); 707 rect = get_full_rectangle_locked(screen); >>> CID 331788: Concurrent data access violations (MISSING_LOCK) >>> Accessing "screen->update_pixels" without holding lock "bitmap_screen.screenlock". Elsewhere, "bitmap_screen.update_pixels" is accessed with "bitmap_screen.screenlock" held 18 out of 19 times. 708 screen->update_pixels = 0; 709 pthread_mutex_unlock(&screen->screenlock); 710 cb_drawrect(rect); 711 } 712 else { 713 if (force_cursor) { ________________________________________________________________________________________________________ To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yp-2FP9gGRhvFklLaQKuBylUrkMFB3WMR2p7qIYKYTZrh4BbWTBf-2B-2Fi5ZUVF-2Fo-2B6flxo-3DHGU6_g4j7BHlu96plUOfCQsO0yRjoWZCZl8YGnZ-2FUtT39hrCcdmIwnvIr3t9h2i16O4nf1MKzLsseWMeHmREwusioGmy4neRfaWGTXD3EhCvT6v3TD9bY436EqhV4iRNKZrYqnvZjOuAMUnzewnEAYuUNDbHzlK4L-2Fr8rJSHpZgw9ysbz1Oxs5QHzfZGz33wH-2BH9Sl45HeaIt2U-2BNSzdT1kVZxg-3D-3D .