Subj : New Defects reported by Coverity Scan for Synchronet To : All From : scan-admin@coverity.com Date : Wed Dec 31 2025 01:45 pm ----==_mimepart_695528f458f41_188c5a2c2daae1599845314 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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. 4 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 1 of 1 defect(s) ** CID 640333: (NEGATIVE_RETURNS) /writemsg.cpp: 463 in sbbs_t::writemsg(const char *, const char *, char *, int, int, const char *, const char *, const char **, const char **)() /writemsg.cpp: 428 in sbbs_t::writemsg(const char *, const char *, char *, int, int, const char *, const char *, const char **, const char **)() /writemsg.cpp: 440 in sbbs_t::writemsg(const char *, const char *, char *, int, int, const char *, const char *, const char **, const char **)() _____________________________________________________________________________________________ *** CID 640333: (NEGATIVE_RETURNS) /writemsg.cpp: 463 in sbbs_t::writemsg(const char *, const char *, char *, int, int, const char *, const char *, const char **, const char **)() 457 while (p) { 458 if (*p == ',' || *p == ' ') 459 p++; 460 i = atoi(p); 461 if (!i) 462 break; >>> CID 640333: (NEGATIVE_RETURNS) >>> "l" is passed to a parameter that cannot be negative. 463 fseek(stream, l, SEEK_SET); 464 j = 1; 465 while (!feof(stream) && !ferror(stream) && j < i) { 466 if (!fgets(tmp, sizeof(tmp), stream)) 467 break; 468 j++; /* skip beginning */ /writemsg.cpp: 428 in sbbs_t::writemsg(const char *, const char *, char *, int, int, const char *, const char *, const char **, const char **)() 422 free(buf); 423 return false; 424 } 425 if (!i && linesquoted) 426 break; 427 if (!i || quote[0] == all_key()) { /* Quote all */ >>> CID 640333: (NEGATIVE_RETURNS) >>> "l" is passed to a parameter that cannot be negative. 428 fseek(stream, l, SEEK_SET); 429 while (!feof(stream) && !ferror(stream)) { 430 if (!fgets(str, sizeof(str), stream)) 431 break; 432 quotestr(str); 433 SAFEPRINTF2(tmp, quote_fmt, term->cols - 4, str); /writemsg.cpp: 440 in sbbs_t::writemsg(const char *, const char *, char *, int, int, const char *, const char *, const char **, const char **)() 434 if (write(file, tmp, strlen(tmp)) > 0) 435 linesquoted++; 436 } 437 break; 438 } 439 if (quote[0] == list_key()) { >>> CID 640333: (NEGATIVE_RETURNS) >>> "l" is passed to a parameter that cannot be negative. 440 fseek(stream, l, SEEK_SET); 441 i = 1; 442 term->newline(); 443 attr(LIGHTGRAY); 444 while (!feof(stream) && !ferror(stream) && !msgabort()) { 445 if (!fgets(str, sizeof(str), stream)) ________________________________________________________________________________________________________ To view the defects in Coverity Scan visit, https://scan.coverity.com/projects/synchronet?tab=overview ----==_mimepart_695528f458f41_188c5a2c2daae1599845314 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit
Hi,
Please find the latest report on new defect(s) introduced to Synchronet found with Coverity Scan.
** CID 640333: (NEGATIVE_RETURNS)
/writemsg.cpp: 463 in sbbs_t::writemsg(const char *, const char *, char *, int, int, const char *, const char *, const char **, const char **)()
/writemsg.cpp: 428 in sbbs_t::writemsg(const char *, const char *, char *, int, int, const char *, const char *, const char **, const char **)()
/writemsg.cpp: 440 in sbbs_t::writemsg(const char *, const char *, char *, int, int, const char *, const char *, const char **, const char **)()
_____________________________________________________________________________________________
*** CID 640333: (NEGATIVE_RETURNS)
/writemsg.cpp: 463 in sbbs_t::writemsg(const char *, const char *, char *, int, int, const char *, const char *, const char **, const char **)()
457 while (p) {
458 if (*p == ',' || *p == ' ')
459 p++;
460 i = atoi(p);
461 if (!i)
462 break;
>>> CID 640333: (NEGATIVE_RETURNS)
>>> "l" is passed to a parameter that cannot be negative.
463 fseek(stream, l, SEEK_SET);
464 j = 1;
465 while (!feof(stream) && !ferror(stream) && j < i) {
466 if (!fgets(tmp, sizeof(tmp), stream))
467 break;
468 j++; /* skip beginning */
/writemsg.cpp: 428 in sbbs_t::writemsg(const char *, const char *, char *, int, int, const char *, const char *, const char **, const char **)()
422 free(buf);
423 return false;
424 }
425 if (!i && linesquoted)
426 break;
427 if (!i || quote[0] == all_key()) { /* Quote all */
>>> CID 640333: (NEGATIVE_RETURNS)
>>> "l" is passed to a parameter that cannot be negative.
428 fseek(stream, l, SEEK_SET);
429 while (!feof(stream) && !ferror(stream)) {
430 if (!fgets(str, sizeof(str), stream))
431 break;
432 quotestr(str);
433 SAFEPRINTF2(tmp, quote_fmt, term->cols - 4, str);
/writemsg.cpp: 440 in sbbs_t::writemsg(const char *, const char *, char *, int, int, const char *, const char *, const char **, const char **)()
434 if (write(file, tmp, strlen(tmp)) > 0)
435 linesquoted++;
436 }
437 break;
438 }
439 if (quote[0] == list_key()) {
>>> CID 640333: (NEGATIVE_RETURNS)
>>> "l" is passed to a parameter that cannot be negative.
440 fseek(stream, l, SEEK_SET);
441 i = 1;
442 term->newline();
443 attr(LIGHTGRAY);
444 while (!feof(stream) && !ferror(stream) && !msgabort()) {
445 if (!fgets(str, sizeof(str), stream))
Best regards,
The Coverity Scan Admin Team