BBS:      TELESC.NET.BR
Assunto:  src/syncterm/bbslist.c
De:       Deuc¨
Data:     Sun, 15 Mar 2026 01:06:05 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/75cc9b15e717d6cf77dc90b0
Modified Files:
	src/syncterm/bbslist.c
Log Message:
Fix stack buffer overflows in bbslist.c build_edit_list()

The opt[][69] array has 69-byte elements, but several sprintf() calls
could write past that:

- "Address           %s" with item->addr (LIST_ADDR_MAX=64, +18 = 83)
- "Phone Number      %s", "Device Name       %s", etc. (same field)
- "GHost Program     %s" with item->password (MAX_PASSWD_LEN=128, +18 = 147)
- "BBS Username      %s" with item->password (same)
- "Font              %s" with item->font (80 bytes, +18 = 98)

Changed these to snprintf(opt[i++], sizeof(opt[0]), ...) to truncate
instead of overflowing.  Other sprintf() calls in the same function
already used printf_trunc() or format short bounded values (Yes/No,
small ints, "********") and are not affected.

Co-Authored-By: Claude Opus 4.6 
n
---
  mSynchronetn  hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net

-----------------------------------------------------------
[Voltar]