Subj : New Defects reported by Coverity Scan for Synchronet To : cov-scan@synchro.net From : scan-admin@coverity.com Date : Sat Dec 09 2023 01:46 pm Hi, Please find the latest report on new defect(s) introduced to Synchronet found with Coverity Scan. 5 new defect(s) introduced to Synchronet found with Coverity Scan. 5 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan. New defect(s) Reported-by: Coverity Scan Showing 5 of 5 defect(s) ** CID 470390: Program hangs (LOCK) /viewfile.cpp: 111 in sbbs_t::viewfile(const char *)() ________________________________________________________________________________________________________ *** CID 470390: Program hangs (LOCK) /viewfile.cpp: 111 in sbbs_t::viewfile(const char *)() 105 if(i >= cfg.total_fviews) { 106 bprintf(text[NonviewableFile], getfname(path)); 107 return false; 108 } 109 if((i=external(cmdstr(viewcmd, path, path, NULL), EX_STDIO|EX_SH))!=0) { 110 errormsg(WHERE,ERR_EXEC,viewcmd,i); /* must have EX_SH to ^C */ >>> CID 470390: Program hangs (LOCK) >>> Returning without unlocking "this->input_thread_mutex". 111 return false; 112 } 113 return true; 114 } 115 116 /****************************************************************************/ ** CID 470389: (SLEEP) ________________________________________________________________________________________________________ *** CID 470389: (SLEEP) /upload.cpp: 84 in sbbs_t::uploadfile(smbmsg_t *)() 78 safe_snprintf(str,sizeof(str),"attempted to upload %s to %s %s (%s error code %d)" 79 ,f->name 80 ,cfg.lib[cfg.dir[f->dir]->lib]->sname,cfg.dir[f->dir]->sname,cfg.ftest[i]->ext 81 ,result); 82 logline(LOG_NOTICE,"U!",str); 83 bprintf(text[FileHadErrors],f->name,cfg.ftest[i]->ext); >>> CID 470389: (SLEEP) >>> Call to "yesno" might sleep while holding lock "this->input_thread_mutex". 84 if(!SYSOP || yesno(text[DeleteFileQ])) 85 remove(path); 86 return false; 87 } 88 SAFEPRINTF(str,"%ssbbsfile.nam",cfg.node_dir); 89 if((stream=fopen(str,"r"))!=NULL) { /upload.cpp: 76 in sbbs_t::uploadfile(smbmsg_t *)() 70 if(f->desc != NULL) 71 fprintf(stream, "%s", f->desc); 72 fclose(stream); 73 } 74 // Note: str (%s) is path/to/sbbsfile.des (used to be the description itself) 75 int result = external(cmdstr(cfg.ftest[i]->cmd, path, str, NULL), EX_OFFLINE); >>> CID 470389: (SLEEP) >>> Call to "clearline" might sleep while holding lock "this->input_thread_mutex". 76 clearline(); 77 if(result != 0) { 78 safe_snprintf(str,sizeof(str),"attempted to upload %s to %s %s (%s error code %d)" 79 ,f->name 80 ,cfg.lib[cfg.dir[f->dir]->lib]->sname,cfg.dir[f->dir]->sname,cfg.ftest[i]->ext 81 ,result); ** CID 470388: Program hangs (SLEEP) ________________________________________________________________________________________________________ *** CID 470388: Program hangs (SLEEP) /inkey.cpp: 203 in sbbs_t::handle_ctrlkey(char, int)() 197 } 198 js_execfile(cmdstr(cfg.hotkey[i]->cmd+1,nulstr,nulstr,tmp), /* startup_dir: */NULL, /* scope: */js_hotkey_glob, js_hotkey_cx, js_hotkey_glob); 199 } else 200 external(cmdstr(cfg.hotkey[i]->cmd,nulstr,nulstr,tmp),0); 201 if(!(sys_status&SS_SPLITP)) { 202 CRLF; >>> CID 470388: Program hangs (SLEEP) >>> Call to "restoreline" might sleep while holding lock "this->input_thread_mutex". 203 restoreline(); 204 } 205 lncntr=0; 206 hotkey_inside &= ~(1<>> CID 470387: Program hangs (LOCK) >>> Returning without unlocking "this->input_thread_mutex". 654 return(true); 655 } 656 657 bprintf(text[SysopIsNotAvailable],cfg.sys_op); 658 659 return(false); ** CID 470386: Program hangs (LOCK) /upload.cpp: 86 in sbbs_t::uploadfile(smbmsg_t *)() ________________________________________________________________________________________________________ *** CID 470386: Program hangs (LOCK) /upload.cpp: 86 in sbbs_t::uploadfile(smbmsg_t *)() 80 ,cfg.lib[cfg.dir[f->dir]->lib]->sname,cfg.dir[f->dir]->sname,cfg.ftest[i]->ext 81 ,result); 82 logline(LOG_NOTICE,"U!",str); 83 bprintf(text[FileHadErrors],f->name,cfg.ftest[i]->ext); 84 if(!SYSOP || yesno(text[DeleteFileQ])) 85 remove(path); >>> CID 470386: Program hangs (LOCK) >>> Returning without unlocking "this->input_thread_mutex". 86 return false; 87 } 88 SAFEPRINTF(str,"%ssbbsfile.nam",cfg.node_dir); 89 if((stream=fopen(str,"r"))!=NULL) { 90 if(fgets(str, sizeof(str), stream)) { 91 truncsp(str); ________________________________________________________________________________________________________ To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yp-2FP9gGRhvFklLaQKuBylUrkMFB3WMR2p7qIYKYTZrh4E6fW2ok94RcmG1J20ETIf4-3DH5pk_g4j7BHlu96plUOfCQsO0yRjoWZCZl8YGnZ-2FUtT39hrA21pPFXGEfXQOHUavDSOcBiYGiM9SWkNBClk7lfGbusFiEUl9SxTFTJ4pQ4-2BlyM1UpLT55ROOl-2F1zOiBksbquFQPYPy5IMrVblt0Rt7EqhjGmGGXslDjsDDEmF37IS-2FgX2UOIpLYk00zJWe4Ps-2Bw7o9YA3yT5trQhVa4wKyo5Ljw-3D-3D .