Subj : New Defects reported by Coverity Scan for Synchronet To : All From : scan-admin@coverity.com Date : Sat Jan 10 2026 01:44 pm ----==_mimepart_696257d4e4005_22599f2afbc97ad9ac59824 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. New defect(s) Reported-by: Coverity Scan Showing 1 of 1 defect(s) ** CID 640959: (CHECKED_RETURN) /tmp/sbbs-Jan-10-2026/src/xpdev/genwrap.c: 479 in add_suffix() /tmp/sbbs-Jan-10-2026/src/xpdev/genwrap.c: 481 in add_suffix() /tmp/sbbs-Jan-10-2026/src/xpdev/genwrap.c: 483 in add_suffix() /tmp/sbbs-Jan-10-2026/src/xpdev/genwrap.c: 480 in add_suffix() _____________________________________________________________________________________________ *** CID 640959: (CHECKED_RETURN) /tmp/sbbs-Jan-10-2026/src/xpdev/genwrap.c: 479 in add_suffix() 473 char* p = strstr(str, ".0"); 474 if (p != NULL && *(p + 2) == '\0') // remove trailing ".0" 475 *p = '\0'; 476 if (strcmp(str, "1") == 0) 477 plural = ""; 478 if (is_word) { >>> CID 640959: (CHECKED_RETURN) >>> Calling "strlcat" without checking return value (as is done elsewhere 29 out of 33 times). 479 strlcat(str, " ", size); 480 strlcat(str, suffix, size); 481 strlcat(str, plural, size); 482 } else 483 strlcat(str, suffix, size); 484 } /tmp/sbbs-Jan-10-2026/src/xpdev/genwrap.c: 481 in add_suffix() 475 *p = '\0'; 476 if (strcmp(str, "1") == 0) 477 plural = ""; 478 if (is_word) { 479 strlcat(str, " ", size); 480 strlcat(str, suffix, size); >>> CID 640959: (CHECKED_RETURN) >>> Calling "strlcat" without checking return value (as is done elsewhere 29 out of 33 times). 481 strlcat(str, plural, size); 482 } else 483 strlcat(str, suffix, size); 484 } 485 486 /* Convert a duration estimate (in seconds) to a string /tmp/sbbs-Jan-10-2026/src/xpdev/genwrap.c: 483 in add_suffix() 477 plural = ""; 478 if (is_word) { 479 strlcat(str, " ", size); 480 strlcat(str, suffix, size); 481 strlcat(str, plural, size); 482 } else >>> CID 640959: (CHECKED_RETURN) >>> Calling "strlcat" without checking return value (as is done elsewhere 29 out of 33 times). 483 strlcat(str, suffix, size); 484 } 485 486 /* Convert a duration estimate (in seconds) to a string 487 * with a single letter multiplier/suffix: 488 * (y)ears, (w)eeks, (d)ays, (h)ours, (m)inutes, or (s)econds /tmp/sbbs-Jan-10-2026/src/xpdev/genwrap.c: 480 in add_suffix() 474 if (p != NULL && *(p + 2) == '\0') // remove trailing ".0" 475 *p = '\0'; 476 if (strcmp(str, "1") == 0) 477 plural = ""; 478 if (is_word) { 479 strlcat(str, " ", size); >>> CID 640959: (CHECKED_RETURN) >>> Calling "strlcat" without checking return value (as is done elsewhere 29 out of 33 times). 480 strlcat(str, suffix, size); 481 strlcat(str, plural, size); 482 } else 483 strlcat(str, suffix, size); 484 } 485 ________________________________________________________________________________________________________ To view the defects in Coverity Scan visit, https://scan.coverity.com/projects/synchronet?tab=overview ----==_mimepart_696257d4e4005_22599f2afbc97ad9ac59824 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 640959: (CHECKED_RETURN)
/tmp/sbbs-Jan-10-2026/src/xpdev/genwrap.c: 479 in add_suffix()
/tmp/sbbs-Jan-10-2026/src/xpdev/genwrap.c: 481 in add_suffix()
/tmp/sbbs-Jan-10-2026/src/xpdev/genwrap.c: 483 in add_suffix()
/tmp/sbbs-Jan-10-2026/src/xpdev/genwrap.c: 480 in add_suffix()
_____________________________________________________________________________________________
*** CID 640959: (CHECKED_RETURN)
/tmp/sbbs-Jan-10-2026/src/xpdev/genwrap.c: 479 in add_suffix()
473 char* p = strstr(str, ".0");
474 if (p != NULL && *(p + 2) == '\0') // remove trailing ".0"
475 *p = '\0';
476 if (strcmp(str, "1") == 0)
477 plural = "";
478 if (is_word) {
>>> CID 640959: (CHECKED_RETURN)
>>> Calling "strlcat" without checking return value (as is done elsewhere 29 out of 33 times).
479 strlcat(str, " ", size);
480 strlcat(str, suffix, size);
481 strlcat(str, plural, size);
482 } else
483 strlcat(str, suffix, size);
484 }
/tmp/sbbs-Jan-10-2026/src/xpdev/genwrap.c: 481 in add_suffix()
475 *p = '\0';
476 if (strcmp(str, "1") == 0)
477 plural = "";
478 if (is_word) {
479 strlcat(str, " ", size);
480 strlcat(str, suffix, size);
>>> CID 640959: (CHECKED_RETURN)
>>> Calling "strlcat" without checking return value (as is done elsewhere 29 out of 33 times).
481 strlcat(str, plural, size);
482 } else
483 strlcat(str, suffix, size);
484 }
485
486 /* Convert a duration estimate (in seconds) to a string
/tmp/sbbs-Jan-10-2026/src/xpdev/genwrap.c: 483 in add_suffix()
477 plural = "";
478 if (is_word) {
479 strlcat(str, " ", size);
480 strlcat(str, suffix, size);
481 strlcat(str, plural, size);
482 } else
>>> CID 640959: (CHECKED_RETURN)
>>> Calling "strlcat" without checking return value (as is done elsewhere 29 out of 33 times).
483 strlcat(str, suffix, size);
484 }
485
486 /* Convert a duration estimate (in seconds) to a string
487 * with a single letter multiplier/suffix:
488 * (y)ears, (w)eeks, (d)ays, (h)ours, (m)inutes, or (s)econds
/tmp/sbbs-Jan-10-2026/src/xpdev/genwrap.c: 480 in add_suffix()
474 if (p != NULL && *(p + 2) == '\0') // remove trailing ".0"
475 *p = '\0';
476 if (strcmp(str, "1") == 0)
477 plural = "";
478 if (is_word) {
479 strlcat(str, " ", size);
>>> CID 640959: (CHECKED_RETURN)
>>> Calling "strlcat" without checking return value (as is done elsewhere 29 out of 33 times).
480 strlcat(str, suffix, size);
481 strlcat(str, plural, size);
482 } else
483 strlcat(str, suffix, size);
484 }
485
Best regards,
The Coverity Scan Admin Team