home bbs files messages ]

Just a sample of the Echomail archive

Cooperative anarchy at its finest, still active today. Darkrealms is the Zone 1 Hub.

   SYNC_PROGRAMMING      Synchronet/Baja/XSDK Programming      49,116 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 46,695 of 49,116   
   scan-admin@coverity.com to All   
   New Defects reported by Coverity Scan fo   
   30 Mar 25 13:06:10   
   
   TZUTC: 0000   
   MSGID: 52073.syncprog@1:103/705 2c4f432e   
   PID: Synchronet 3.20e-Linux terminal-abstraction/084ea9647 Mar 28 2025 GCC   
   12.2.0   
   TID: SBBSecho 3.24-Linux master/ad9ab307f Mar 18 2025 GCC 12.2.0   
   BBSID: VERT   
   CHRS: ASCII 1   
   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.   
   6 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 548252:  Error handling issues  (NEGATIVE_RETURNS)   
   /writemsg.cpp: 709 in sbbs_t::writemsg(const char *, const char *, char *,   
   int, int, const char *, const char *, const char **, const char **)()   
      
      
   ________________________________________________________________   
   _______________________________________   
   *** CID 548252:  Error handling issues  (NEGATIVE_RETURNS)   
   /writemsg.cpp: 709 in sbbs_t::writemsg(const char *, const char *, char *,   
   int, int, const char *, const char *, const char **, const char **)()   
   703     		buf[0] = 0;   
   704     		if (linesquoted || draft_restored) {   
   705     			if ((file = nopen(msgtmp, O_RDONLY)) != -1) {   
   706     				length = (long)filelength(file);   
   707     				l = length > (int)(cfg.level_linespermsg[useron_level] *   
   MAX_LINE_LEN) - 1   
   708     				    ? (cfg.level_linespermsg[useron_level] * MAX_LINE_LEN) - 1 :   
   length;   
   >>>     CID 548252:  Error handling issues  (NEGATIVE_RETURNS)   
   >>>     "l" is passed to a parameter that cannot be negative. [Note: The   
   source code implementation of the function has been overridden by a builtin   
   model.]   
   709     				if (read(file, buf, l) != l)   
   710     					l = 0;   
   711     				buf[l] = 0;   
   712     				close(file);   
   713     				// remove(msgtmp);   
   714     			}   
      
   ** CID 548251:  Incorrect expression  (SIZEOF_MISMATCH)   
   /xtrn.cpp: 1621 in sbbs_t::external(const char *, int, const char *)()   
      
      
   ________________________________________________________________   
   _______________________________________   
   *** CID 548251:  Incorrect expression  (SIZEOF_MISMATCH)   
   /xtrn.cpp: 1621 in sbbs_t::external(const char *, int, const char *)()   
   1615     		return -1;   
   1616     	}   
   1617   
   1618     	if ((mode & EX_STDIO) == EX_STDIO)  {   
   1619     		struct winsize winsize;   
   1620     		struct termios termio;   
   >>>     CID 548251:  Incorrect expression  (SIZEOF_MISMATCH)   
   >>>     Passing argument "&termio" of type "termios *" and argument "8UL"   
   ("sizeof (this->term)") to function "memset" is suspicious because "sizeof   
   (termios) /*60*/" is expected.   
   1621     		memset(&termio, 0, sizeof(term));   
   1622     		cfsetispeed(&termio, B19200);   
   1623     		cfsetospeed(&termio, B19200);   
   1624     		if (mode & EX_BIN)   
   1625     			cfmakeraw(&termio);   
   1626     		else {   
      
   ** CID 548250:  Control flow issues  (NO_EFFECT)   
   /terminal.cpp: 31 in Terminal::scroll_hotspots(unsigned int)()   
      
      
   ________________________________________________________________   
   _______________________________________   
   *** CID 548250:  Control flow issues  (NO_EFFECT)   
   /terminal.cpp: 31 in Terminal::scroll_hotspots(unsigned int)()   
   25     	unsigned spots = 0;   
   26     	unsigned remain = 0;   
   27     	for (list_node_t* node = mouse_hotspots->first; node != NULL; node =   
   node->next) {   
   28     		struct mouse_hotspot* spot = (struct mouse_hotspot*)node->data;   
   29     		spot->y -= count;   
   30     		spots++;   
   >>>     CID 548250:  Control flow issues  (NO_EFFECT)   
   >>>     This greater-than-or-equal-to-zero comparison of an unsigned value is   
   always true. "spot->y >= 0U".   
   31     		if (spot->y >= 0)   
   32     			remain++;   
   33     	}   
   34     #ifdef _DEBUG   
   35     	if (spots)   
   36     		sbbs->lprintf(LOG_DEBUG, "Scrolled %u mouse hot-spots %u rows (%u   
   remain)", spots, count, remain);   
      
   ** CID 548249:    (DEADCODE)   
   /useredit.cpp: 89 in sbbs_t::useredit(int)()   
   /useredit.cpp: 89 in sbbs_t::useredit(int)()   
      
      
   ________________________________________________________________   
   _______________________________________   
   *** CID 548249:    (DEADCODE)   
   /useredit.cpp: 89 in sbbs_t::useredit(int)()   
   83     			SAFEPRINTF2(user_pass, "%.*s..", (int)(max_len - 2), user.pass);   
   84     		bprintf(text[UeditAliasPassword]   
   85     		        , user.alias   
   86     		        , datestr(user.pwmod, tmp)   
   87     		        , (user.level > useron.level || !(cfg.sys_misc & SM_ECHO_PW))   
   ? "" : user_pass   
   88     		        );   
   >>>     CID 548249:    (DEADCODE)   
   >>>     Execution cannot reach the expression ""XXXXXXXX"" inside this   
   statement: "this->bprintf(this->text[Ue...".   
   89     		bprintf(text[UeditRealNamePhone]   
   90     		        , user.level > useron.level && console & CON_R_ECHO   
   91     		    ? "XXXXXXXX" : user.name   
   92     		        , user.level > useron.level && console & CON_R_ECHO   
   93     		    ? "XXX-XXX-XXXX" : user.phone);   
   94     		bprintf(text[UeditAddressBirthday]   
   /useredit.cpp: 89 in sbbs_t::useredit(int)()   
   83     			SAFEPRINTF2(user_pass, "%.*s..", (int)(max_len - 2), user.pass);   
   84     		bprintf(text[UeditAliasPassword]   
   85     		        , user.alias   
   86     		        , datestr(user.pwmod, tmp)   
   87     		        , (user.level > useron.level || !(cfg.sys_misc & SM_ECHO_PW))   
   ? "" : user_pass   
   88     		        );   
   >>>     CID 548249:    (DEADCODE)   
   >>>     Execution cannot reach the expression ""XXX-XXX-XXXX"" inside this   
   statement: "this->bprintf(this->text[Ue...".   
   89     		bprintf(text[UeditRealNamePhone]   
   90     		        , user.level > useron.level && console & CON_R_ECHO   
   91     		    ? "XXXXXXXX" : user.name   
   92     		        , user.level > useron.level && console & CON_R_ECHO   
   93     		    ? "XXX-XXX-XXXX" : user.phone);   
   94     		bprintf(text[UeditAddressBirthday]   
      
   ** CID 548248:  Error handling issues  (CHECKED_RETURN)   
   /writemsg.cpp: 1836 in sbbs_t::movemsg(smbmsg_t *, int)()   
      
      
   ________________________________________________________________   
   _______________________________________   
   *** CID 548248:  Error handling issues  (CHECKED_RETURN)   
   /writemsg.cpp: 1836 in sbbs_t::movemsg(smbmsg_t *, int)()   
   1830     	length = smb_getmsgdatlen(msg);   
   1831     	if ((buf = (char *)malloc(length)) == NULL) {   
   1832     		errormsg(WHERE, ERR_ALLOC, smb.file, length);   
   1833     		return false;   
   1834     	}   
   1835   
   >>>     CID 548248:  Error handling issues  (CHECKED_RETURN)   
   >>>     Calling "fseek(this->smb.sdt_fp, msg->hdr.offset, 0)" without checking   
   return value. This library function may fail and return an error code.   
   1836     	fseek(smb.sdt_fp, msg->hdr.offset, SEEK_SET);   
   1837     	if (fread(buf, length, 1, smb.sdt_fp) != 1) {   
   1838     		free(buf);   
   1839     		errormsg(WHERE, ERR_READ, smb.file, length);   
   1840     		return false;   
   1841     	}   
      
      
   ________________________________________________________________   
   _______________________________________   
   To view the defects in Coverity Scan visit, https://scan.coverit   
   .com/projects/synchronet?tab=overview   
      
      
   --- SBBSecho 3.24-Linux   
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)   
   SEEN-BY: 103/705 105/81 106/201 124/5016 128/187 153/757 7715 154/10   
   SEEN-BY: 154/30 110 203/0 218/700 221/0 226/30 227/114 229/110 114   
   SEEN-BY: 229/206 317 400 426 428 470 550 700 705 240/1120 5832 266/512   
   SEEN-BY: 280/464 5003 5006 291/111 292/8125 301/1 320/219 322/757   
   SEEN-BY: 341/66 234 342/200 396/45 423/120 460/58 256 1124 467/888   
   SEEN-BY: 633/280 712/848 770/1 902/26 5020/400 8912 5054/30 5075/35   
   PATH: 103/705 280/464 460/58 229/426   
      

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca